diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 000000000..11e5d7db3 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,22 @@ +{ + "plugins": ["node"], + "extends": ["eslint:recommended", "plugin:node/recommended"], + "root": true, + "env": { + "browser": true, + "node": true + }, + "rules": { + "node/exports-style": ["error", "module.exports"], + "no-console": "off" + }, + "globals": { + "angular": 1, + "define": 1, + "requirejs": 1, + "MG": 1, + "Snackbar": 1, + "ROLES": 1, + "io": 1 + } +} \ No newline at end of file diff --git a/.gitignore b/.gitignore index 0544e3ace..85e38c25d 100644 --- a/.gitignore +++ b/.gitignore @@ -31,17 +31,18 @@ node_modules #custom config.json import.csv -src/mailer/templates/promo/ +/src/mailer/templates/promo/ *.pem -public/uploads/tickets/ -public/uploads/users/ +/public/uploads/tickets/ +/public/uploads/users/ coverage.html *.bk apidocs -docs -public/js/* -public/css/app.css.map +/docs/*.html +/public/js/ +app.css.map *.diff private/ .sass-cache/ -coverage/ +/coverage/ +/plugins/ diff --git a/.npmrc b/.npmrc new file mode 100644 index 000000000..cad57977c --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +save-exact = true \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 24c0f7b83..8c14d7f15 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,8 +3,8 @@ language: node_js env: - CXX=g++-4.8 node_js: - - 4 - 6 + - 7 services: - mongodb addons: diff --git a/CHANGELOG.md b/CHANGELOG.md index 434d359a2..d56b08b58 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Change Log +## [0.1.8](https://github.com/polonel/trudesk/tree/HEAD) + +[Full Changelog](https://github.com/polonel/trudesk/compare/0.1.7...HEAD) + +**Fixed bugs:** + +- \*UNSTABLE\* - Unable to run install script [\#17](https://github.com/polonel/trudesk/issues/17) + ## [0.1.7](https://github.com/polonel/trudesk/tree/0.1.7) (2016-10-22) [Full Changelog](https://github.com/polonel/trudesk/compare/0.1.6...0.1.7) @@ -30,4 +38,7 @@ ## [0.1.3](https://github.com/polonel/trudesk/tree/0.1.3) (2015-10-28) [Full Changelog](https://github.com/polonel/trudesk/compare/0.1.2...0.1.3) -## [0.1.2](https://github.com/polonel/trudesk/tree/0.1.2) (2015-08-24) \ No newline at end of file +## [0.1.2](https://github.com/polonel/trudesk/tree/0.1.2) (2015-08-24) + + +\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)* \ No newline at end of file diff --git a/LICENSE.txt b/LICENSE.txt index afe5ff03c..cff34d23f 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,4 +1,4 @@ -Copyright 2014-2016 Chris Brame +Copyright 2014-2017 Chris Brame Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/README.md b/README.md index cd455b9f5..5f389de89 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ if you like what you see here, and want to help support the work being done, you ### License - Copyright 2014-2016 Chris Brame + Copyright 2014-2017 Chris Brame Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/app.js b/app.js index 9e44b758f..877725788 100644 --- a/app.js +++ b/app.js @@ -16,6 +16,7 @@ var async = require('async'), nconf = require('nconf'), pkg = require('./package.json'), ws = require('./src/webserver'); + //var memory = require('./src/memory'); global.forks = []; @@ -64,7 +65,7 @@ if (!process.env.FORK) { winston.info(' 888 . 888 888 888 888 888 888 .o o. )88b 888 `88b.'); winston.info(' "888" d888b `V88V"V8P\' `Y8bod88P" `Y8bod8P\' 8""888P\' o888o o888o'); winston.info('=========================================================================='); - winston.info('TruDesk v' + pkg.version + ' Copyright (C) 2014-2016 Chris Brame'); + winston.info('TruDesk v' + pkg.version + ' Copyright (C) 2014-2017 Chris Brame'); winston.info(''); winston.info('Running in: ' + global.env); winston.info('Time: ' + new Date()); @@ -82,14 +83,7 @@ if (process.env.HEROKU) { //Build Config for Heroku var configHeroku = { "url": "http://localhost:8118", - "port": "8118", - "mailer": { - "enable": false, - - "check": { - "enable": false - } - } + "port": "8118" }; winston.info('Creating heroku config file...'); @@ -104,7 +98,6 @@ if (process.env.HEROKU) { } if (nconf.get('install') || !configExists && !process.env.HEROKU) { - var ws = require('./src/webserver'); ws.installServer(function() { return winston.info('Trudesk Install Server Running...'); }); @@ -118,8 +111,6 @@ if (!nconf.get('setup') && !nconf.get('install') && !nconf.get('upgrade') && !nc setup(); } else if (nconf.get('upgrade')) { //upgrade(); -} else if (nconf.get('reset')) { - reset(); } function loadConfig() { @@ -252,8 +243,8 @@ function dbCallback(err, db) { n.on('message', function(data) { if (data.cache) { - var nodeCache = require('./src/cache/node-cache'); - global.cache = new nodeCache({ + var NodeCache = require('./src/cache/node-cache'); + global.cache = new NodeCache({ data: data.cache.data, checkperiod: 0 }); diff --git a/docs/jaguarjs-jsdoc/conf.json b/docs/jaguarjs-jsdoc/conf.json index 5ff21e3f6..b84ceb71b 100644 --- a/docs/jaguarjs-jsdoc/conf.json +++ b/docs/jaguarjs-jsdoc/conf.json @@ -2,7 +2,7 @@ "tags": { "allowUnknownTags" : true }, - "plugins": ["plugins/markdown"], + "plugins": ["node_modules/jsdoc/plugins/markdown"], "templates": { "cleverLinks": true, "monospaceLinks": true, diff --git a/docs/reports.md b/docs/reports.md deleted file mode 100644 index 48f68c68b..000000000 --- a/docs/reports.md +++ /dev/null @@ -1,31 +0,0 @@ -Reports -======= -Schema for Reports ------------------- -Shows the schema used in each type of report. - -###Types - - 1 - User Level Report - 2 - Group Level Report - -##User Level Report Format - { - uid: , //Unique..Required - name: , //Required - type: 1, //Required - runDate: , //Required..HasDefault - recurring: , //Required..HasDefault - interval: , - status: * //Required..HasDefault - data: { //Required - user: , - period: { - start: , - end: - }, - tickets: [] - } - } - -*** *Status - 0=Active / 1=Inactive / 2=Completed*** diff --git a/gruntfile.js b/gruntfile.js index 900f5f733..53157639e 100644 --- a/gruntfile.js +++ b/gruntfile.js @@ -4,6 +4,30 @@ module.exports = function(grunt) { grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), + conventionalChangelog: { + options: { + changelogOpts: { + // conventional-changelog options go here + preset: 'eslint' + }, + context: { + // context goes here + }, + gitRawCommitsOpts: { + // git-raw-commits options go here + }, + parserOpts: { + // conventional-commits-parser options go here + }, + writerOpts: { + // conventional-changelog-writer options go here + } + }, + release: { + src: 'CHANGELOG.md' + } + }, + express: { options: { //Override Defaults @@ -17,22 +41,6 @@ module.exports = function(grunt) { }, watch: { - //gruntfile: { - // files: ['gruntfile.js'], - // tasks: ['minjs'] - //}, - //frontend: { - // options: { - // livereload: true - // }, - // files: [ - // 'public/**/*.css', - // 'public/**/*.js', - // 'views/**/*.hbs', - // '!public/js/main.min.js' - // ], - // tasks: ['minjs'] - //}, sass: { files: [ 'src/sass/**/*.sass' @@ -68,20 +76,15 @@ module.exports = function(grunt) { stream: true }, tasks: [ - //{ - // grunt: true, - // args: ['watch:gruntfile'] - //}, - //{ - // grunt: true, - // args: ['watch:frontend'] - //}, { grunt: true, args: ['watch:sass'] }, { grunt: true, args: ['watch:web'] + }, { + grunt: true, + args: ['shell:webpackWatch'] } ] }, @@ -102,20 +105,18 @@ module.exports = function(grunt) { 'public/css/plugins.css': [ 'public/css/plugins/datatables/dataTables.scroller.css', 'public/css/plugins/datatables/dataTables.foundation.css', - 'public/js/vendor/chosen/chosen.css', - 'public/js/vendor/pace/pace.theme.css', - 'public/js/vendor/enjoyhint/enjoyhint.css', - 'public/js/vendor/metricsgraphics/metricsgraphics.css', + 'src/public/js/vendor/chosen/chosen.css', + 'src/public/js/vendor/pace/pace.theme.css', + 'src/public/js/vendor/enjoyhint/enjoyhint.css', + 'src/public/js/vendor/metricsgraphics/metricsgraphics.css', 'public/css/vendor/font-awesome.min.css', 'public/css/plugins/simplecolorpicker/jquery.simplecolorpicker.css', 'public/css/plugins/simplecolorpicker/jquery.simplecolorpicker-fontawesome.css', - //'public/css/plugins/simplecolorpicker/jquery.simplecolorpicker-regularfont.css', - //'public/css/plugins/datepicker/foundation-datepicker.css', - 'public/js/vendor/uikit/css/uikit.css', - 'public/js/vendor/uikit/css/uikit_custom.css', - 'public/js/plugins/snackbar.css', - 'public/js/vendor/c3/c3.css', - 'public/js/vendor/formvalidator/theme-default.css' + 'src/public/js/vendor/uikit/css/uikit.css', + 'src/public/js/vendor/uikit/css/uikit_custom.css', + 'src/public/js/plugins/snackbar.css', + 'src/public/js/vendor/c3/c3.css', + 'src/public/js/vendor/formvalidator/theme-default.css' ] } }, @@ -138,8 +139,8 @@ module.exports = function(grunt) { apidoc: { trudesk: { - src: "src/controllers/", - dest: "apidocs/", + src: 'src/controllers/api/', + dest: 'apidocs/', options: { //debug: true, includeFilters: ['.*\\.js$'], @@ -155,8 +156,6 @@ module.exports = function(grunt) { destination: 'docs', template: 'docs/jaguarjs-jsdoc', configure: 'docs/jaguarjs-jsdoc/conf.json' - //template : "node_modules/grunt-jsdoc/node_modules/ink-docstrap/template", - //configure : "node_modules/grunt-jsdoc/node_modules/ink-docstrap/template/jsdoc.conf.json" } } }, @@ -199,92 +198,10 @@ module.exports = function(grunt) { } }, - requirejs: { - compile: { - options: { - appDir: 'src/public/js', - baseUrl: './', - mainConfigFile: 'src/public/js/config.js', - dir: 'public/js', - removeCombined: true, - preserveLicenseComments: false, - kipDirOptimize: false, - optimize: 'uglify2', - //optimize: 'none', - uglify2: { - mangle: false - }, - modules: [{ - name: 'trudesk.min', - create: true, - include: [ - 'jquery', - 'jquery_scrollTo', - 'jquery_custom', - 'uikit', - 'angular', - 'angularRoute', - 'angularCookies', - 'angularSanitize', - 'modernizr', - 'fastclick', - 'placeholder', - 'nicescroll', - 'underscore', - 'history', - 'd3', - 'metricsgraphics', - 'd3pie', - 'peity', - 'countup', - 'selectize', - 'waves', - 'formvalidator', - 'snackbar', - - '../../src/permissions/roles', - - 'angularjs/main', - 'angularjs/controllers', - 'app', - - 'modules/ajaxify', - 'modules/ajaximgupload', - 'modules/attachmentUpload', - - 'pages/accounts', - 'pages/dashboard', - 'pages/editaccount', - 'pages/groups', - 'pages/messages', - 'pages/reports', - 'pages/singleTicket', - 'pages/tickets' - ], - shim: { - angular: { - exports: 'angular' - } - } - }], - paths: { - //foundation: 'empty:', - angular: 'empty:', - angularRoute: 'empty:', - angularCookies: 'empty:' - }, - keepBuildDir: true - } - } - }, - shell: { - requirejs: { - command: 'r.js -o rBuild.js' - }, - requirejswin: { - command: 'r.js.cmd -o rBuild.js' - } + webpackWatch: 'npm run webpackwatch', + webpackDev: 'npm run webpackdev', + webpackDist: 'npm run webpackdist' } }); @@ -292,9 +209,8 @@ module.exports = function(grunt) { grunt.registerTask('builddocs', ['jsdoc', 'apidoc']); grunt.registerTask('watchdocs', ['parallel:docs']); grunt.registerTask('server', 'launch webserver and watch tasks', ['parallel:web']); - grunt.registerTask('build', ['uglify:uikit', 'shell:requirejs', 'buildcss', 'builddocs']); - grunt.registerTask('sbuild', ['shell:requirejs']); - grunt.registerTask('swinbuild', ['shell:requirejswin']); - grunt.registerTask('winbuild', ['uglify:uikit', 'shell:requirejswin', 'buildcss', 'builddocs']); + grunt.registerTask('build', ['uglify:uikit', 'shell:webpackDist', 'buildcss', 'builddocs']); + grunt.registerTask('devbuild', ['shell:webpackDev']); + grunt.registerTask('changelog', ['conventionalChangelog']); grunt.registerTask('default', ['server']); }; diff --git a/package.json b/package.json index fc49d6379..07326d1a2 100644 --- a/package.json +++ b/package.json @@ -1,94 +1,117 @@ { "name": "Trudesk", - "version": "0.1.7", + "version": "0.1.8", "private": true, "scripts": { "start": "node ./app", - "postinstall": "npm install -g requirejs@2.1.15 grunt-cli && grunt build", "build": "grunt build", + "heroku-postbuild": "npm run build", "test": "mocha --recursive", - "coverage": "istanbul cover ./node_modules/mocha/bin/_mocha -- --recursive" + "coverage": "istanbul cover ./node_modules/mocha/bin/_mocha -- --recursive", + "webpackwatch": "webpack --config webpack.config.js --watch", + "webpackdev": "webpack --config webpack.config.js", + "webpackdist": "webpack --config webpack.config.dist.js" }, "dependencies": { - "ansi_up": "^1.3.0", - "apn": "^1.7.6", - "async": "^2.0.0", - "bcrypt": "^0.8.7", - "body-parser": "^1.15.2", - "busboy": "^0.2.13", - "chance": "^1.0.3", - "clone": "^1.0.2", - "coffee-script": "^1.10.0", - "connect-flash": "^0.1.1", - "connect-mongo": "^1.2.1", - "cookie": "^0.3.1", - "cookie-parser": "^1.4.3", - "daemon": "^1.1.0", - "debug": "^2.2.0", - "dive": "^0.5.0", - "email-templates": "^2.3.2", - "express": "^4.14.0", - "express-hbs": "^1.0.2", - "express-session": "^1.14.0", - "file-tail": "^0.3.0", - "grunt": "^1.0.1", - "grunt-apidoc": "^0.11.0", - "grunt-contrib-cssmin": "^1.0.1", - "grunt-contrib-requirejs": "^1.0.0", - "grunt-contrib-uglify": "^0.11.0", - "grunt-jsdoc": "^2.1.0", - "grunt-sass": "^1.2.0", - "grunt-shell": "^1.3.0", - "handlebars": "^4.0.5", - "imap": "^0.8.17", - "js-string-escape": "^1.0.1", + "ansi_up": "1.3.0", + "apn": "1.7.6", + "async": "2.0.0", + "bcrypt": "0.8.7", + "big-integer": "^1.6.17", + "body-parser": "1.15.2", + "busboy": "0.2.13", + "chance": "1.0.3", + "clone": "1.0.2", + "coffee-script": "1.10.0", + "connect-flash": "0.1.1", + "connect-mongo": "1.2.1", + "cookie": "0.3.1", + "cookie-parser": "1.4.3", + "daemon": "1.1.0", + "debug": "2.2.0", + "dive": "0.5.0", + "email-templates": "2.3.2", + "express": "4.14.0", + "express-hbs": "1.0.2", + "express-session": "1.14.0", + "fast-csv": "^2.3.1", + "file-tail": "0.3.0", + "grunt": "1.0.1", + "grunt-apidoc": "0.11.0", + "grunt-contrib-cssmin": "1.0.1", + "grunt-contrib-uglify": "1.0.1", + "grunt-jsdoc": "2.1.0", + "grunt-sass": "1.2.0", + "grunt-shell": "1.3.0", + "handlebars": "4.0.6", + "imap": "0.8.17", + "ip-address": "5.8.6", + "js-string-escape": "1.0.1", + "jsdoc": "3.4.3", "kerberos": "0.0.21", - "lodash": "^4.13.1", - "logrotate-stream": "^0.2.5", - "mailparser": "^0.6.1", - "marked": "^0.3.5", - "matchdep": "^1.0.1", + "lodash": "4.13.1", + "logrotate-stream": "0.2.5", + "mailparser": "0.6.1", + "marked": "0.3.5", + "matchdep": "1.0.1", "moment": "2.10.2", "mongoose": "4.5.3", "mongoose-deep-populate": "3.0.0", - "morgan": "^1.7.0", - "nconf": "^0.8.4", - "node-cache": "^3.2.1", - "node-sass": "^3.8.0", - "nodemailer": "^2.5.0", - "passport": "^0.3.2", - "passport-http": "^0.3.0", - "passport-local": "^1.0.0", - "passport.socketio": "^3.6.2", - "pm2": "^1.1.3", - "prompt": "^1.0.0", - "request": "^2.67.0", - "sanitize-html": "^1.13.0", - "serve-favicon": "^2.3.0", - "socket.io": "^1.4.8", - "socket.io-client": "^1.4.8", - "uglify-js": "^2.7.0", - "underscore": "^1.8.3", - "underscore.string": "^3.3.4", - "unzip": "^0.1.11", - "util": "^0.10.3", - "winston": "^2.2.0" + "morgan": "1.7.0", + "nconf": "0.8.4", + "netmask": "^1.0.6", + "node-cache": "3.2.1", + "node-sass": "3.8.0", + "nodemailer": "2.5.0", + "notp": "2.0.3", + "passport": "0.3.2", + "passport-http": "0.3.0", + "passport-local": "1.0.0", + "passport-totp": "0.0.2", + "passport.socketio": "3.6.2", + "pm2": "1.1.3", + "prompt": "1.0.0", + "request": "2.73.0", + "rimraf": "^2.6.0", + "sanitize-html": "1.13.0", + "serve-favicon": "2.3.0", + "socket.io": "1.4.8", + "socket.io-client": "1.4.8", + "tar": "^2.2.1", + "thirty-two": "1.0.2", + "uglify-js": "2.7.0", + "underscore": "1.8.3", + "underscore.string": "3.3.4", + "unzip": "0.1.11", + "util": "0.10.3", + "winston": "2.2.0" }, "devDependencies": { + "apidoc": "0.17.5", "chai": "*", - "coveralls": "^2.11.11", - "grunt-contrib-uglify": "^1.0.1", - "grunt-contrib-watch": "^1.0.0", - "grunt-express-server": "^0.5.3", - "grunt-htmlhint": "^0.9.13", - "grunt-parallel": "^0.5.1", - "istanbul": "^0.4.4", - "istanbul-coveralls": "^1.0.3", - "mocha": "^2.5.3", - "mocha-lcov-reporter": "^1.2.0", - "request": "^2.73.0", - "superagent": "^2.0.0", - "supertest": "^1.2.0" + "coveralls": "2.11.11", + "eslint": "3.14.0", + "eslint-config-angular": "0.5.0", + "eslint-plugin-angular": "1.6.1", + "eslint-plugin-node": "3.0.5", + "exports-loader": "0.6.3", + "expose-loader": "0.7.1", + "grunt-contrib-watch": "1.0.0", + "grunt-conventional-changelog": "6.1.0", + "grunt-express-server": "0.5.3", + "grunt-htmlhint": "0.9.13", + "grunt-parallel": "0.5.1", + "imports-loader": "0.7.0", + "istanbul": "0.4.4", + "istanbul-coveralls": "1.0.3", + "jsdoc": "3.4.3", + "mocha": "2.5.3", + "mocha-lcov-reporter": "1.2.0", + "script-loader": "0.7.0", + "superagent": "2.0.0", + "supertest": "1.2.0", + "webpack": "2.2.1", + "webpack-node-externals": "1.5.4" }, "config": { "blanket": { diff --git a/addins/.gitkeep b/plugins/.gitkeep similarity index 100% rename from addins/.gitkeep rename to plugins/.gitkeep diff --git a/public/css/app.css b/public/css/app.css index 991c2cc69..b1b14db07 100644 --- a/public/css/app.css +++ b/public/css/app.css @@ -31,9 +31,7 @@ pre { font-size: 85%; line-height: 1.45; background-color: #F7F7F7; - border-radius: 3px; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; } + border-radius: 3px; } pre br { display: none !important; } pre code { @@ -49,9 +47,7 @@ pre { background-color: transparent; border: 0; white-space: pre; - border-radius: 3px; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; } + border-radius: 3px; } h1, h2, h3, h4, h5, h6 { font-weight: normal; @@ -170,6 +166,9 @@ input[type="file"], input[type="checkbox"], input[type="radio"], select { .padding-right-15 { padding-right: 15px !important; } +.padding-10 { + padding: 10px !important; } + .padtop20 { padding-top: 20px !important; } @@ -195,9 +194,7 @@ input[type="file"], input[type="checkbox"], input[type="radio"], select { padding-bottom: 0 !important; } .noshadow { - box-shadow: none !important; - -webkit-box-shadow: none !important; - -moz-box-shadow: none !important; } + box-shadow: none !important; } .no-overflow-x { overflow-x: hidden !important; } @@ -218,6 +215,9 @@ input[type="file"], input[type="checkbox"], input[type="radio"], select { margin: 0 !important; padding: 0 !important; } +.round { + border-radius: 50% !important; } + .font-weight-300 { font-weight: 300 !important; } @@ -249,9 +249,7 @@ a.hoverUnderline:hover { .profilePic img { height: 50px; width: 50px; - border-radius: 50%; - -webkit-border-radius: 50%; - -moz-border-radius: 50%; } + border-radius: 50%; } .page-title, .page-title-right { @@ -311,8 +309,6 @@ span.user-online, span.user-offline { background: #29b955; line-height: 1; border-radius: 50%; - -webkit-border-radius: 50%; - -moz-border-radius: 50%; border: 2px solid #fff; } span.user-offline { @@ -337,8 +333,6 @@ a.button { font-size: 14px; padding: 4px 16px; border-radius: 3px; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; background: #E74C3C; outline: none; } button.dropdown, @@ -404,9 +398,7 @@ a.button { padding: 0; border: none; margin: 0; - border-radius: 0; - -webkit-border-radius: 0; - -moz-border-radius: 0; } + border-radius: 0; } .action-link:hover, .action-link:active, .action-link:focus, .action-link:visited { background: none; } .action-link:last-child { @@ -423,8 +415,6 @@ a.button { -webkit-transition: background 280ms ease-out, color 280ms ease-out; transition: background 280ms ease-out, color 280ms ease-out; border-radius: 50%; - -webkit-border-radius: 50%; - -moz-border-radius: 50%; -webkit-tap-highlight-color: transparent; } .action-link i:hover { background: #d6d8dc; } @@ -461,6 +451,12 @@ a.button { height: 100%; margin: 0; padding: 0; } + .disconnected p { + color: white; + font-size: 22px; + font-weight: 300; + padding: 0; + margin: 0; } .page-center { position: absolute; @@ -506,11 +502,7 @@ div.ptooltip-box { text-align: center; padding: 7px 0; border-radius: 5px; - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3); - -webkit-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3); - -moz-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3); } + box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3); } div.ptooltip-box:before, div.ptooltip-box:after { position: absolute; top: 100%; @@ -551,9 +543,7 @@ div.ptooltip-box { width: 380px; height: 55px; background: red; - border-radius: 5px; - -webkit-border-radius: 5px; - -moz-border-radius: 5px; } + border-radius: 5px; } .largeProfilePic, .mediumProfilePic { border: 2px solid #ffffff; @@ -569,9 +559,7 @@ div.ptooltip-box { .mediumProfilePic { width: 128px; height: 128px; - border-radius: 50%; - -webkit-border-radius: 50%; - -moz-border-radius: 50%; } + border-radius: 50%; } .mediumProfilePic img { width: 128px; height: 128px; } @@ -607,9 +595,7 @@ div.hoverAction { .uk-modal .chosen-container-multi .chosen-choices { border: 1px solid #dfe4ef; background: #f3f5f9; - border-radius: 3px; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; } + border-radius: 3px; } .uk-modal .chosen-container-multi .chosen-drop { background: white; @@ -633,30 +619,22 @@ div.hoverAction { background: #f3f5f9; border: 1px solid #dfe4ef; border-radius: 3px; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; box-sizing: border-box; - box-shadow: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; } + box-shadow: none; } .uk-modal input:focus, .uk-modal input:active, .uk-modal textarea:focus, .uk-modal textarea:active { background: #fafafa; border-color: #dfe4ef; outline: none; - box-shadow: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; } + box-shadow: none; } .uk-modal button:not(.md-btn) { font-family: "Roboto", "Open Sans", sans-serif; font-size: 14px; color: #ffffff; font-weight: 300; - border-radius: 3px; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; } + border-radius: 3px; } .uk-modal button:not(.md-btn):focus, .uk-modal button:not(.md-btn):active { outline: none; } .uk-modal button:not(.md-btn).cancel { @@ -671,6 +649,11 @@ div.hoverAction { .uk-modal button:not(.md-btn).red:hover, .uk-modal button:not(.md-btn).red:active { background: #f72f25; } +.breads { + padding: 10px 15px; + background: white; + border-top: 1px solid #dadada; } + .pagination { margin-right: 8px; } .pagination .pagination-info { @@ -694,8 +677,6 @@ div.hoverAction { background: #FFFFFF; overflow: hidden; border-radius: 3px 0 0 3px; - -webkit-border-radius: 3px 0 0 3px; - -moz-border-radius: 3px 0 0 3px; color: #595f69; line-height: 30px; } .pagination .button-group li .btn i { @@ -708,9 +689,7 @@ div.hoverAction { display: inline-block; margin-top: 5px; } .pagination .button-group li:last-child .btn { - border-radius: 0 3px 3px 0; - -webkit-border-radius: 0 3px 3px 0; - -moz-border-radius: 0 3px 3px 0; } + border-radius: 0 3px 3px 0; } .pagination .button-group li.active .btn { background: #E74C3C; } @@ -719,6 +698,26 @@ div.hoverAction { .datepicker td.active.year { background: #ea6153; } +.context-menu { + display: none; + z-index: 1000; + position: absolute; + overflow: hidden; + border: 1px solid #ddd; + white-space: nowrap; + font-family: sans-serif; + background: #FFF; + color: #333; + border-radius: 0; + list-style: none; + margin: 0; + padding: 0; } + .context-menu li { + padding: 8px 12px; + cursor: pointer; } + .context-menu li:hover { + background-color: #ddd; } + .top-nav, .top-bar { background: #42464d; @@ -860,9 +859,7 @@ div.hoverAction { .top-bar-section ul li.profile-area img { width: 50px; height: 50px; - border-radius: 50%; - -webkit-border-radius: 50%; - -moz-border-radius: 50%; } + border-radius: 50%; } .notifications { width: 300px !important; @@ -876,12 +873,6 @@ div.hoverAction { border: 1px solid rgba(100, 100, 100, 0.4); position: relative; box-shadow: 0px 3px 8px 0px rgba(0, 0, 0, 0.247059); - -webkit-box-shadow: 0px 3px 8px 0px rgba(0, 0, 0, 0.247059); - -moz-box-shadow: 0px 3px 8px 0px rgba(0, 0, 0, 0.247059); - -webkit-transition: opacity 0.5s ease; - -moz-transition: opacity 0.5s ease; - -o-transition: opacity 0.5s ease; - -ms-transition: opacity 0.5s ease; transition: opacity 0.5s ease; } .p-dropdown:before, .p-dropdown:after { content: " "; @@ -1186,11 +1177,7 @@ div.actions { left: 0; bottom: 0; box-shadow: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: inset -1px 0 0 0 rgba(0, 0, 0, 0.1); - -webkit-box-shadow: inset -1px 0 0 0 rgba(0, 0, 0, 0.1); - -moz-box-shadow: inset -1px 0 0 0 rgba(0, 0, 0, 0.1); } + box-shadow: inset -1px 0 0 0 rgba(0, 0, 0, 0.1); } @media only screen and (min-width: 40.063em) and (max-width: 64em) { .sidebar { position: absolute; @@ -1274,8 +1261,6 @@ ul.side-nav-sub { background: #dfe0e2; box-shadow: none; box-shadow: inset -1px 0 0 0 rgba(0, 0, 0, 0.1); - -webkit-box-shadow: inset -1px 0 0 0 rgba(0, 0, 0, 0.1); - -moz-box-shadow: inset -1px 0 0 0 rgba(0, 0, 0, 0.1); margin: 0; padding: 10px 0; overflow: hidden; @@ -1387,6 +1372,102 @@ ul.side-nav-sub { background: url(/img/invoices.png) 0 0 no-repeat; top: 10px !important; } +.uk-offcanvas { + background: rgba(0, 0, 0, 0.3); } + +.uk-offcanvas-bar { + background: #e6e7e8; } + +.online-list-sidebar h5 { + font-family: "Source Sans Pro", sans-serif; + font-size: 12px; + font-weight: 500; + text-transform: uppercase; + margin: 20px 5px 5px 5px; + color: #7c8186; } + +.online-list-sidebar hr { + width: 100%; + height: 1px; + display: block; + margin: 5px 0; + background: #ddd; } + +.online-list-sidebar .online-list-head { + height: 40px; + width: 100%; + background: #595f69; + margin-bottom: 8px; } + .online-list-sidebar .online-list-head h3 { + font-family: "Source Sans Pro", sans-serif; + font-size: 14px; + text-align: center; + width: 100%; + display: block; + color: #FFFFFF; + margin: 0; + line-height: 40px; } + +.online-list-sidebar .online-list, +.online-list-sidebar .user-list { + list-style: none; + margin: 0; + padding: 0; } + .online-list-sidebar .online-list li a, + .online-list-sidebar .user-list li a { + display: block; + padding: 5px 10px; + color: #3c3c3c; + position: relative; } + .online-list-sidebar .online-list li a:hover, + .online-list-sidebar .user-list li a:hover { + background: #d2d3d6; + color: #3c3c3c; + text-decoration: none; } + .online-list-sidebar .online-list li a .online-list-user .image, + .online-list-sidebar .online-list li a .user-list-user .image, + .online-list-sidebar .user-list li a .online-list-user .image, + .online-list-sidebar .user-list li a .user-list-user .image { + height: 30px; + width: 30px; + float: left; + display: block; } + .online-list-sidebar .online-list li a .online-list-user .image img, + .online-list-sidebar .online-list li a .user-list-user .image img, + .online-list-sidebar .user-list li a .online-list-user .image img, + .online-list-sidebar .user-list li a .user-list-user .image img { + border-radius: 50%; } + .online-list-sidebar .online-list li a .online-name, + .online-list-sidebar .online-list li a .user-name, + .online-list-sidebar .user-list li a .online-name, + .online-list-sidebar .user-list li a .user-name { + font-size: 13px; + font-weight: 400; + margin-left: 40px; + line-height: 30px; } + .online-list-sidebar .online-list li a .online-status, + .online-list-sidebar .user-list li a .online-status { + position: absolute; + right: 10px; + top: 15px; + display: block; } + .online-list-sidebar .online-list li a .online-status:after, + .online-list-sidebar .user-list li a .online-status:after { + content: ''; + background: #29b955; + width: 6px; + height: 6px; + border-radius: 50%; + display: block; } + .online-list-sidebar .online-list li a .online-status-offline, + .online-list-sidebar .user-list li a .online-status-offline { + position: absolute; + right: 10px; + top: 10px; + display: block; + font-size: 11px; + color: #88909c; } + .message-list { padding: 0 !important; } @media only screen and (min-width: 40.063em) and (max-width: 64em) { @@ -1396,18 +1477,19 @@ ul.side-nav-sub { .message-items { list-style: none; background: #f7f8fa; - min-height: 100%; padding: 0; margin: 0; border-top: 1px solid #dadada; border-right: 1px solid #dadada; - overflow: auto; } + height: 100%; } .message-items li { height: 85px; padding-top: 17px; - padding-left: 32px; + padding-left: 10px; border-bottom: 1px solid #dadada; - position: relative; } + position: relative; + overflow: hidden; + text-overflow: '...'; } .message-items li:hover { background: white; cursor: pointer; } @@ -1427,9 +1509,33 @@ ul.side-nav-sub { border-left: 4px solid #E74C3C; } .message-items li.message-tag-blue:before { border-left: 4px solid #2980b9 !important; } - .message-items li.unread .message-from, - .message-items li.unread .message-subject { - font-weight: 600; } + .message-items li.unread { + border-left: 4px solid #2196F3 !important; } + .message-items li.unread .message-from, + .message-items li.unread .message-subject, + .message-items li.unread .message-date { + font-weight: 600; } + .message-items li .profile-pic { + float: left; + position: relative; } + .message-items li .profile-pic img { + height: 50px; + width: 50px; } + .message-items li .convo-info { + margin-left: 65px; + height: 50px; + max-height: 50px; } + .message-items li .message-subject, + .message-items li .message-from, + .message-items li .message-date { + padding: 0; } + .message-items li .message-subject { + margin-top: 3px; + color: #a2a2a2; + margin-right: 15px; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; } .message-folder { line-height: 85px; @@ -1447,7 +1553,7 @@ ul.side-nav-sub { top: 20px; right: 20px; color: #8891a3; - font-size: 12px; + font-size: 13px; font-family: "Source Sans Pro", sans-serif; } .invoice-date { @@ -1464,9 +1570,7 @@ ul.side-nav-sub { font-size: 11px; font-weight: 300; font-family: "Roboto", sans-serif; - border-radius: 2px; - -webkit-border-radius: 2px; - -moz-border-radius: 2px; } + border-radius: 2px; } .message-from, .invoice-name { @@ -1474,7 +1578,9 @@ ul.side-nav-sub { font-family: "Source Sans Pro", sans-serif; color: #3c3c3c; font-size: 14px; - padding-left: 8px; } + padding-left: 8px; + padding-top: 3px !important; + font-weight: 500; } .invoice-name { font-family: "Roboto", sans-serif; @@ -1485,7 +1591,7 @@ ul.side-nav-sub { .invoice-payee { display: block; padding-left: 25px; - font-family: "Roboto", sans-serif; + font-family: "Source Sans Pro", sans-serif; font-size: 14px; color: #3c3c3c; } @@ -1494,7 +1600,49 @@ ul.side-nav-sub { padding-top: 5px; } .message-content { - background: white; } + background: white; + position: relative; } + +.message-textbox { + position: absolute; + bottom: 1px; + left: 0; + right: 0; + height: 40px; + border: none; + border-top: 1px solid #ddd; + background: #fff; } + .message-textbox button { + border: none; + margin: 0; + padding: 0; + background: transparent; + color: #2196F3; + display: block; + float: right; + width: 10%; + line-height: 40px; + font-family: "Source Sans Pro", sans-serif; + font-size: 14px; + text-transform: uppercase; } + .message-textbox input { + border: none; + float: left; + width: 90%; + padding: 5px 8px; + height: 40px; + font-size: 14px; + font-family: "Source Sans Pro", sans-serif; } + .message-textbox a { + display: block; + float: right; + width: 100%; + font-family: "Source Sans Pro", sans-serif; + font-size: 14px; + text-transform: uppercase; + text-align: right; + padding-right: 20px; + line-height: 40px; } .message-header { border-bottom: 1px solid #dadada; @@ -1527,9 +1675,7 @@ ul.side-nav-sub { float: left; margin-right: 25px; } .message-profile-image img { - border-radius: 50%; - -webkit-border-radius: 50%; - -moz-border-radius: 50%; } + border-radius: 50%; } input[type="checkbox"].poloCheckbox { visibility: hidden; } @@ -1547,15 +1693,48 @@ input[type="checkbox"].poloCheckbox + label { input[type="checkbox"]:checked.poloCheckbox + label { background-position: 0 -14px; } +.conversation-start, +.conversation-deleted { + width: 100%; + text-align: center; + display: block; + padding: 10px 5px 5px 5px; + font-size: 11px; + color: #989898; + font-family: "Roboto", sans-serif; } + +.conversation-deleted { + font-weight: 700; } + .message { - padding: 30px 30px 30px 60px; - overflow: auto; } - .message p { - font-size: 14px; - font-weight: normal; - line-height: 30px; - margin-bottom: 40px; - color: #222; } + padding: 10px; + display: flex; + width: auto; + max-width: 60%; + clear: both; } + .message img { + height: 30px; + width: 30px; + border-radius: 50%; + float: left; } + .message .message-body { + margin-left: 10px; + padding: 5px 8px; + background: #ddd; + border-radius: 5px; } + .message .message-body p { + color: #555555; + font-size: 13px; + margin: 0; } + .message.message-right { + float: right; } + .message.message-right .message-body { + background: #E74C3C; + margin-left: 0; + margin-right: 10px; + float: right; } + .message.message-right .message-body p { + color: #fff; } .button-group li.active > a, .button-group li.active > button { @@ -1572,8 +1751,6 @@ input[type="checkbox"]:checked.poloCheckbox + label { margin: 18px 5px 0 0; padding: 4px 16px; border-radius: 3px; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; background: inherit; border-left: none !important; border-color: transparent; @@ -1603,6 +1780,20 @@ input[type="checkbox"]:checked.poloCheckbox + label { .icon-button i { font-size: 24px; } +.search-box { + padding: 10px; + border-top: 1px solid #ddd; + border-right: 1px solid #ddd; } + .search-box input { + width: 100%; + border: none; + background: #f1f1f1; + padding: 5px 15px; + color: #222; + font-size: 13px; + font-weight: 300; + border-radius: 15px; } + @media only screen and (min-width: 40.063em) and (max-width: 64em) { .ticketContent { padding: 0 0 0 55px !important; } } @@ -1626,9 +1817,7 @@ div#accountsTable_wrapper { font-family: "Roboto", sans-serif; color: white; background: #CCCCCC; - border-radius: 3px; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; } + border-radius: 3px; } .ticket-status.ticket-open span, .ticket-status-open { @@ -1680,8 +1869,6 @@ div#accountsTable_wrapper { background: #ffffff; border: 1px solid #bec4d0; border-radius: 3px; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; z-index: 999; } #statusSelect ul { margin: 0; @@ -1721,8 +1908,6 @@ div#accountsTable_wrapper { margin: 18px 5px 0 0; padding: 6px 16px; border-radius: 3px; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; height: 28px; line-height: 14px; } .page-top-comments a.btn:hover, @@ -1746,8 +1931,6 @@ div#accountsTable_wrapper { background: white; padding: 5px 15px 15px; border-radius: 3px; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; margin: 30px; } .ticket-assignee-wrap h4, .tag-info-wrap h4 { @@ -1764,9 +1947,7 @@ div#accountsTable_wrapper { width: 50px; height: 50px; margin-left: 5px; - border-radius: 50%; - -webkit-border-radius: 50%; - -moz-border-radius: 50%; } + border-radius: 50%; } .ticket-assignee .ticket-assignee-details { padding-left: 75px; } .ticket-assignee .ticket-assignee-details h3 { @@ -1799,9 +1980,7 @@ div#accountsTable_wrapper { font-family: "Roboto", "Open Sans", sans-serif; font-size: 12px; color: #76797e; - border-radius: 3px; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; } + border-radius: 3px; } .ticket-details label { font-family: "Roboto", "Open Sans", sans-serif; font-size: 12px; @@ -1821,11 +2000,7 @@ div#accountsTable_wrapper { background: #f3f5f9; border: 1px solid #bec4d0; border-radius: 3px; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - box-shadow: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; } + box-shadow: none; } .ticket-details input:focus, .ticket-details select:focus, .ticket-details .input-box:focus, @@ -1833,9 +2008,7 @@ div#accountsTable_wrapper { outline: none; border-color: #bec4d0; background: white; - box-shadow: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; } + box-shadow: none; } .ticket-details select, .ticket-details select:focus { -webkit-appearance: none; background: url("data:image/svg+xml;utf8,"); @@ -1844,8 +2017,6 @@ div#accountsTable_wrapper { border: none; border-bottom: 1px solid #CCC; border-radius: 0; - -webkit-border-radius: 0; - -moz-border-radius: 0; padding: 0; } .ticket-details .input-box, .ticket-details .tag-list { @@ -1858,9 +2029,7 @@ div#accountsTable_wrapper { background: inherit; border: none; border-bottom: 1px solid #CCC; - border-radius: 0; - -webkit-border-radius: 0; - -moz-border-radius: 0; } + border-radius: 0; } .ticket-details .input-box .item, .ticket-details .tag-list .item { display: inline-block; @@ -1872,9 +2041,7 @@ div#accountsTable_wrapper { max-height: 20px; background: #3498db; color: #ffffff; - border-radius: 3px; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; } + border-radius: 3px; } .ticket-details .input-box .item.orange, .ticket-details .tag-list .item.orange { background: #db5334; } @@ -1925,9 +2092,7 @@ div#accountsTable_wrapper { height: 50px; width: 50px; margin-left: 10px; - border-radius: 50%; - -webkit-border-radius: 50%; - -moz-border-radius: 50%; } + border-radius: 50%; } .comments-wrapper .initial-issue .issue-text, .comments-wrapper .ticket-comment .issue-text, .comments-wrapper .ticket-reply .issue-text { @@ -2079,11 +2244,7 @@ div#accountsTable_wrapper { background: inherit; padding: 8px; border-radius: 0; - -webkit-border-radius: 0; - -moz-border-radius: 0; box-shadow: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } @@ -2110,8 +2271,6 @@ div#accountsTable_wrapper { padding: 3px 15px; background: #E74C3C; border-radius: 3px; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; font-weight: 400; } .comments-wrapper .ticket-reply button[type=submit]:hover, .comments-wrapper .ticket-reply button[type=reset]:hover, @@ -2169,8 +2328,6 @@ form.form select { color: #223140; background: #eceff6; box-shadow: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; border: 1px solid #9aa1ad; } form.ticket-form input:focus, form.ticket-form textarea:focus, form.ticket-form select:focus, form.form input:focus, @@ -2178,8 +2335,6 @@ form.form select { form.form select:focus { background: #fdfefe; box-shadow: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; outline: none; } form.ticket-form textarea, @@ -2281,13 +2436,9 @@ div.dataTables_wrapper { margin: 7px 15px 7px 7px; height: 30px; padding: 8px; - border-radius: 4px; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; } + border-radius: 4px; } div.dataTables_wrapper .dataTables_filter input:focus { - box-shadow: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; } + box-shadow: none; } .server-row { margin: 25px 0 0 0 !important; } @@ -2297,17 +2448,11 @@ div.dataTables_wrapper { background: #ffffff; margin-bottom: 25px; border-radius: 3px; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - box-shadow: 0px 1px 3px 0px rgba(44, 62, 80, 0.2); - -webkit-box-shadow: 0px 1px 3px 0px rgba(44, 62, 80, 0.2); - -moz-box-shadow: 0px 1px 3px 0px rgba(44, 62, 80, 0.2); } + box-shadow: 0px 1px 3px 0px rgba(44, 62, 80, 0.2); } .server-box .server-title { height: 40px; background: #29b955; - border-radius: 3px 3px 0 0; - -webkit-border-radius: 3px 3px 0 0; - -moz-border-radius: 3px 3px 0 0; } + border-radius: 3px 3px 0 0; } .server-box .server-title.server-status-red { background: #b92929; } .server-box .server-title.server-status-green { @@ -2341,8 +2486,6 @@ div.dataTables_wrapper { width: 20px; height: 5px; border-radius: 5px; - -webkit-border-radius: 5px; - -moz-border-radius: 5px; background: #29b955; margin-right: 10px; vertical-align: middle; } @@ -2371,9 +2514,7 @@ div.dataTables_wrapper { width: 100%; height: 10px; background: #d5dae6; - border-radius: 5px; - -webkit-border-radius: 5px; - -moz-border-radius: 5px; } + border-radius: 5px; } .server-box .server-services .server-services-list li { float: left; position: relative; @@ -2382,9 +2523,7 @@ div.dataTables_wrapper { height: 100%; cursor: pointer; } .server-box .server-services .server-services-list li:first-child { - border-radius: 5px 0 0 5px; - -webkit-border-radius: 5px 0 0 5px; - -moz-border-radius: 5px 0 0 5px; } + border-radius: 5px 0 0 5px; } .server-box .server-services .server-services-list li:first-child.green { border-left: 2px solid #29b955; } .server-box .server-services .server-services-list li:first-child.orange { @@ -2399,7 +2538,7 @@ div.dataTables_wrapper { background: #b92929; } .server-box .server-services .server-services-list li span { display: block; - font-size: 0px; + font-size: 0; height: 100%; width: 100%; } @@ -2434,29 +2573,18 @@ div.dataTables_wrapper { z-index: 300; border: 1px solid rgba(100, 100, 100, 0.4); border-bottom: none; - border-radius: 3px; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; + border-radius: 0; box-shadow: 0px 3px 8px 0px rgba(0, 0, 0, 0.247059); - -webkit-box-shadow: 0px 3px 8px 0px rgba(0, 0, 0, 0.247059); - -moz-box-shadow: 0px 3px 8px 0px rgba(0, 0, 0, 0.247059); - -webkit-transition: opacity 0.5s ease; - -moz-transition: opacity 0.5s ease; - -o-transition: opacity 0.5s ease; - -ms-transition: opacity 0.5s ease; transition: opacity 0.5s ease; } .chat-dock .chat-box-wrapper .chat-box .chat-box-title { display: block; - background: #223140; + background: #42464d; height: 29px; border: 1px solid transparent; cursor: pointer; - box-shadow: 0 0 0 1px #223140; - -webkit-box-shadow: 0 0 0 1px #223140; - -moz-box-shadow: 0 0 0 1px #223140; - border-radius: 3px 3px 0 0; - -webkit-border-radius: 3px 3px 0 0; - -moz-border-radius: 3px 3px 0 0; } + box-shadow: 0 0 0 1px #42464d; } + .chat-dock .chat-box-wrapper .chat-box .chat-box-title .material-icons { + font-size: 14px; } .chat-dock .chat-box-wrapper .chat-box .chat-box-title h4 { font-size: 14px; margin: 5px 8px 3px; @@ -2501,9 +2629,7 @@ div.dataTables_wrapper { white-space: pre-wrap; word-wrap: break-word; height: 0; - box-shadow: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; } + box-shadow: none; } .chat-dock .chat-box-wrapper .chat-box textarea:focus { background: inherit; } .chat-dock .chat-box-wrapper .chat-box .chat-box-messages { @@ -2533,9 +2659,7 @@ div.dataTables_wrapper { .chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message .chat-user-profile img { height: 34px; width: 34px; - border-radius: 5px; - -webkit-border-radius: 5px; - -moz-border-radius: 5px; } + border-radius: 5px; } .chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message .chat-text-wrapper { display: block; margin-left: 45px; @@ -2551,14 +2675,12 @@ div.dataTables_wrapper { margin-left: 6px; border: 1px solid rgba(0, 0, 0, 0.18); border-radius: 4px; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; color: #3e454c; min-height: 14px; padding: 4px 6px 3px 5px; position: relative; text-align: left; - word-break: break-word; } + word-wrap: break-word; } .chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message .chat-text-wrapper .chat-text:after { content: ''; position: absolute; @@ -2581,6 +2703,12 @@ div.dataTables_wrapper { top: 5px; left: 100%; background: #E74C3C url("/img/chat-arrow.png") no-repeat 0 -13px; } + .chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-box-deletedAt { + font-family: "Source Sans Pro", sans-serif; + font-size: 11px; + color: #888; + margin-bottom: 5px; + text-align: center; } .circle-chart-wrapper { margin-bottom: 15px; } @@ -2687,8 +2815,6 @@ div.dataTables_wrapper { width: 15px; height: 170px; border-radius: 2px; - -webkit-border-radius: 2px; - -moz-border-radius: 2px; background: #e3e5e8; margin-right: 10px; } .bar-chart-wrapper .bar-chart .bar .bar-track { @@ -2700,9 +2826,7 @@ div.dataTables_wrapper { height: 100px; width: 100%; background: #E74C3C; - border-radius: 2px; - -webkit-border-radius: 2px; - -moz-border-radius: 2px; } + border-radius: 2px; } .bar-chart-wrapper .bar-chart .bar .bar-track:hover { background: #c43627; } .bar-chart-wrapper .bar-chart .bar .bar-label { @@ -2762,11 +2886,7 @@ div.dataTables_wrapper { text-align: center; padding: 7px 0; border-radius: 5px; - -webkit-border-radius: 5px; - -moz-border-radius: 5px; box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3); - -webkit-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3); - -moz-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3); color: #ffffff; font-family: "source sans pro", sans-serif; font-size: 12px; @@ -2825,15 +2945,11 @@ div.dataTables_wrapper { margin: 18px 5px 0 0; padding: 4px 16px; border-radius: 3px; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; background: #E74C3C; border-color: rgba(0, 0, 0, 0.1); color: #ffffff; text-shadow: none; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); - -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); outline: none; } .fc .fc-toolbar button:hover { background: #ea6153; @@ -2870,9 +2986,7 @@ div.dataTables_wrapper { background: #eceff6; } .search-container .chosen-container .chosen-choices { border: 1px solid #9aa1ad; - border-radius: 0; - -webkit-border-radius: 0; - -moz-border-radius: 0; } + border-radius: 0; } .search-container .chosen-container-multi .chosen-choices li.search-choice { padding: 0 25px 0 7px; background: #a7b5d5; } @@ -2891,8 +3005,6 @@ div.dataTables_wrapper { border: 1px solid #9aa1ad; border-left: none; border-radius: 0 3px 3px 0; - -webkit-border-radius: 0 3px 3px 0; - -moz-border-radius: 0 3px 3px 0; z-index: 999; cursor: pointer; position: relative; } @@ -2900,9 +3012,7 @@ div.dataTables_wrapper { color: #55616e; } .chosen-container .chosen-drop { - box-shadow: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; } + box-shadow: none; } .chosen-container .chosen-results li.highlighted { background: #ea6153 none; } @@ -2911,19 +3021,13 @@ div.dataTables_wrapper { background: #f3f5f9; border: 1px solid #bec4d0; box-shadow: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; border-radius: 3px; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; font-size: 12px; } .chosen-container-single .chosen-drop { background: #e2e7f1; border-color: #bec4d0; border-radius: 0 0 3px 3px; - -webkit-border-radius: 0 0 3px 3px; - -moz-border-radius: 0 0 3px 3px; font-size: 12px; } .chosen-container-single .chosen-drop .chosen-results li { line-height: normal; @@ -2933,8 +3037,6 @@ div.dataTables_wrapper { .chosen-container-active.chosen-with-drop .chosen-single { border: 1px solid #bec4d0; box-shadow: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; background-image: none; } .chosen-container-multi { @@ -2949,9 +3051,7 @@ div.dataTables_wrapper { color: white; font-size: 13px; padding: 3px 25px 3px 10px; - box-shadow: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; } + box-shadow: none; } .chosen-container-multi .chosen-choices li.search-choice span { color: white; } .chosen-container-multi .chosen-choices li.search-choice .search-choice-close { @@ -2968,9 +3068,7 @@ div.dataTables_wrapper { .chosen-container-active .chosen-choices { border: 1px solid #9aa1ad; background: #ffffff; - box-shadow: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; } + box-shadow: none; } .onoffswitch { position: relative; @@ -5106,6 +5204,9 @@ input[type=checkbox]:not(:disabled) ~ .lever:active:after { .selectize-control.plugin-remove_button .disabled [data-value] .remove:hover { background: none; } +.selectize-control.plugin-remove_button.selectize-noremove .item { + padding-right: 0 !important; } + .selectize-dropdown { color: #303030; font-family: Roboto, sans-serif; @@ -5167,8 +5268,9 @@ input[type=checkbox]:not(:disabled) ~ .lever:active:after { vertical-align: baseline; display: -moz-inline-stack; display: inline-block; - zoom: 1; - *display: inline; } + zoom: 1; } + .selectize-input > * * { + display: inline; } .selectize-control.multi .selectize-input > div { cursor: pointer; @@ -5382,7 +5484,7 @@ input[type=checkbox]:not(:disabled) ~ .lever:active:after { .selectize-control.single { height: 40px; - margin-top: 0px; } + margin-top: 0; } .selectize-control.single .selectize-input { border-width: 0 0 1px; padding: 8px 8px 9px; } @@ -5435,8 +5537,6 @@ input[type=checkbox]:not(:disabled) ~ .lever:active:after { width: 82px; height: 82px; border-radius: 50%; - -webkit-border-radius: 50%; - -moz-border-radius: 50%; margin-top: 16px; border: 2px solid #fff; display: inline-block; } @@ -5501,8 +5601,6 @@ input[type=checkbox]:not(:disabled) ~ .lever:active:after { -webkit-tap-highlight-color: transparent; color: #727272; border-radius: 50%; - -webkit-border-radius: 50%; - -moz-border-radius: 50%; cursor: pointer; -webkit-transition: background 280ms ease-out, color 280ms ease-out; transition: background 280ms ease-out, color 280ms ease-out; } @@ -6102,8 +6200,8 @@ a.waves-effect .waves-ripple { position: absolute; top: 0; left: 30%; - transform-origin: 0% 100%; - -ms-transform-origin: 0% 100%; + transform-origin: 0 100%; + -ms-transform-origin: 0 100%; -webkit-transform-origin: 13px 100%; transform: scale(1.5); } .loader-wrapper svg.t circle { @@ -6133,6 +6231,70 @@ a.waves-effect .waves-ripple { 100% { opacity: 0.2; } } +.user-is-typing-wrapper { + position: relative; + min-height: 40px; + clear: both; } + .user-is-typing-wrapper .chat-user-profile { + height: 34px; + width: 34px; + position: absolute; + left: 5px; + display: block; } + .user-is-typing-wrapper .chat-user-profile img { + width: 34px; + height: 34px; + border-radius: 5px; } + .user-is-typing-wrapper .chat-user-profile.smaller { + width: 30px; + height: 30px; } + .user-is-typing-wrapper .chat-user-profile.smaller img { + width: 30px; + height: 30px; } + +.user-is-typing { + width: 50px; + height: 25px; + background-color: #fff; + margin: 0 0 0 52px; + border-radius: 4px; + border: 1px solid rgba(0, 0, 0, 0.18); + position: relative; + padding: 0 10px 8px; + display: flex; + justify-content: space-around; + align-items: flex-end; } + .user-is-typing:after { + content: ''; + position: absolute; + width: 8px; + height: 13px; + top: 5px; + right: 100%; + background: url(/img/chat-arrow.png) no-repeat #fff; + background-size: auto; } + .user-is-typing.hide-arrow:after { + content: none; } + .user-is-typing .dot { + display: inline-block; + background-color: #90949c; + border-radius: 50%; + width: 5px; + height: 5px; + animation: jump 1.5s linear infinite; } + .user-is-typing .dot:nth-of-type(2) { + animation-delay: .1s; } + .user-is-typing .dot:nth-of-type(3) { + animation-delay: .2s; } + +@keyframes jump { + 0% { + transform: translateY(0); } + 18% { + transform: translateY(-7px); } + 36%, 100% { + transform: translateY(0px); } } + .c3-chart-arc text { font-size: 10px !important; } @@ -6203,6 +6365,15 @@ select.md-input.md-input-success:focus, textarea.md-input.md-input-success:focus input:not([type]).md-input.md-input-success:focus, input[type="text"].md-input.md-input-success:focus, input[type="password"].md-input.md-input-success:focus, input[type="datetime"].md-input.md-input-success:focus, input[type="datetime-local"].md-input.md-input-success:focus, input[type="date"].md-input.md-input-success:focus, input[type="month"].md-input.md-input-success:focus, input[type="time"].md-input.md-input-success:focus, input[type="week"].md-input.md-input-success:focus, input[type="number"].md-input.md-input-success:focus, input[type="email"].md-input.md-input-success:focus, input[type="url"].md-input.md-input-success:focus, input[type="search"].md-input.md-input-success:focus, input[type="tel"].md-input.md-input-success:focus, input[type="color"].md-input.md-input-success:focus { border-bottom-color: #7cb342; } +input:not([type]).md-input.md-input-nocolor, input[type="text"].md-input.md-input-nocolor, input[type="password"].md-input.md-input-nocolor, input[type="datetime"].md-input.md-input-nocolor, input[type="datetime-local"].md-input.md-input-nocolor, input[type="date"].md-input.md-input-nocolor, input[type="month"].md-input.md-input-nocolor, input[type="time"].md-input.md-input-nocolor, input[type="week"].md-input.md-input-nocolor, input[type="number"].md-input.md-input-nocolor, input[type="email"].md-input.md-input-nocolor, input[type="url"].md-input.md-input-nocolor, input[type="search"].md-input.md-input-nocolor, input[type="tel"].md-input.md-input-nocolor, input[type="color"].md-input.md-input-nocolor { + border-color: rgba(0, 0, 0, 0.12); } + +select.md-input.md-input-nocolor:focus, textarea.md-input.md-input-nocolor:focus { + border-bottom-color: #ccc; } + +input:not([type]).md-input.md-input-nocolor:focus, input[type="text"].md-input.md-input-nocolor:focus, input[type="password"].md-input.md-input-nocolor:focus, input[type="datetime"].md-input.md-input-nocolor:focus, input[type="datetime-local"].md-input.md-input-nocolor:focus, input[type="date"].md-input.md-input-nocolor:focus, input[type="month"].md-input.md-input-nocolor:focus, input[type="time"].md-input.md-input-nocolor:focus, input[type="week"].md-input.md-input-nocolor:focus, input[type="number"].md-input.md-input-nocolor:focus, input[type="email"].md-input.md-input-nocolor:focus, input[type="url"].md-input.md-input-nocolor:focus, input[type="search"].md-input.md-input-nocolor:focus, input[type="tel"].md-input.md-input-nocolor:focus, input[type="color"].md-input.md-input-nocolor:focus { + border-bottom-color: rgba(0, 0, 0, 0.12); } + select.md-input:focus, textarea.md-input:focus { background: transparent; border-color: rgba(0, 0, 0, 0.12); } @@ -6280,6 +6451,14 @@ textarea.md-input { bottom: 0; } .md-input-wrapper.has-error .md-input-bar.error-color:before, .md-input-wrapper.has-error .md-input-bar.error-color:after { background: #d32f2f !important; } + .md-input-wrapper .search-icon { + position: absolute; + top: 20px; + right: 0; + display: block; + color: #727272; + line-height: 26px; + border-bottom: 1px solid rgba(0, 0, 0, 0.12); } .md-input-wrapper-count { padding-bottom: 24px; } @@ -6323,6 +6502,12 @@ textarea.md-input { .md-input-wrapper-success.md-input-wrapper-count .text-count-wrapper { color: #7cb342; } +.md-input-wrapper-nocolor .md-input-bar:before, .md-input-wrapper-nocolor .md-input-bar:after { + background: rgba(0, 0, 0, 0.5); } + +.md-input-wrapper-nocolor.md-input-wrapper-count .text-count-wrapper { + color: rgba(0, 0, 0, 0.12); } + .md-form-group { position: relative; } @@ -6336,9 +6521,7 @@ label.md-label { .uk-subnav-pill li a { transition: background-color .5s ease; - border-radius: 3px; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; } + border-radius: 3px; } .uk-subnav-pill li:not(.uk-active) > a:hover { background: white; } @@ -6351,8 +6534,6 @@ label.md-label { padding: 2px 6px; border: none; border-radius: 2px; - -webkit-border-radius: 2px; - -moz-border-radius: 2px; text-shadow: none; font-size: 11px; line-height: 15px; @@ -6412,6 +6593,19 @@ label.md-label { color: white; background: #ea6153; } +.uk-tooltip-left:after { + display: block !important; + left: 100%; + top: 50%; + content: " "; + height: 0; + width: 0; + position: absolute; + pointer-events: none; + border: 5px solid rgba(136, 183, 213, 0); + border-left-color: #424242; + margin-top: -5px; } + .title-shadow { box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24) !important; } @@ -6455,8 +6649,6 @@ table tr.even, table tr.alt, table tr:nth-of-type(even) { text-align: center; padding: 5px 10px; border-radius: 2px; - -webkit-border-radius: 2px; - -moz-border-radius: 2px; display: inline-block; background: #ed4e6e; color: #fff; @@ -6495,3 +6687,9 @@ table tr.even, table tr.alt, table tr:nth-of-type(even) { .uk-datepicker-table a.uk-active { background: #595f69; color: #fff; } + +.confirm-delete-button { + color: #d32f2f !important; } + .confirm-delete-button:hover, .confirm-delete-button:active, .confirm-delete-button:focus { + color: #d32f2f; + background: #fceaea; } diff --git a/public/css/app.min.css b/public/css/app.min.css index e0a40e53a..35c1b7159 100644 --- a/public/css/app.min.css +++ b/public/css/app.min.css @@ -1,7 +1,7 @@ -@charset "UTF-8";@import url(http://fonts.googleapis.com/css?family=Open+Sans:400,700,800,300,600);@import url(http://fonts.googleapis.com/css?family=Roboto:400,300,500,700);@import url(http://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700);@import url(https://fonts.googleapis.com/icon?family=Material+Icons);blockquote,dd,div,dl,dt,form,h1,h2,h3,h4,h5,h6,li,ol,p,pre,pre code,td,th,ul{margin:0}pre,pre code{word-wrap:normal}h1,h2,h3,h4,h5,h6,p{text-rendering:optimizeLegibility}.action-link i,.tru-icon,.waves-effect{-webkit-tap-highlight-color:transparent}.fc .fc-toolbar button,.md-btn,.uk-badge,.uk-button{text-shadow:none}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body,html{background:#f7f8fa;overflow:hidden;font-family:Roboto,"Open Sans",sans-serif;height:100%}a{text-decoration:none!important;color:#1e88e5}a:active,a:focus,a:hover{color:#1976d2}pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#F7F7F7;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px}pre br{display:none!important}pre code{display:inline;font:12px Consolas,"Liberation Mono",Menlo,Courier,monospace;color:#333;max-width:initial;padding:0;overflow:initial;line-height:inherit;background-color:transparent;border:0;white-space:pre;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px}h6,p{font-size:1rem;line-height:1.6}label,p{font-weight:400}.left,.right{max-width:100%}h1,h2,h3,h4,h5,h6{font-weight:400;font-style:normal;margin-top:.2rem;margin-bottom:.5rem}p{font-family:Roboto,"Open Sans",sans-serif;margin-bottom:1.25rem;color:#3c3c3c}hr{border:none;height:1px;background:#ddd;width:100%}img{display:inline-block;vertical-align:middle}label{font-size:.875rem;color:#4d4d4d;cursor:pointer;display:block;line-height:1.5;margin-bottom:0}table tr td,table tr th{padding:.5625rem .625rem;text-align:left}.padding-left-right-15,.padding-right-15{padding-right:15px!important}table tbody tr td,table tbody tr th,table tfoot tr td,table tfoot tr th,table thead tr th,table tr td{display:table-cell;line-height:1.125rem}input[type=checkbox]+label,input[type=radio]+label{margin-left:.5rem;margin-right:1rem;margin-bottom:0;vertical-align:baseline}input[type=checkbox],input[type=radio],input[type=file],select{margin:0 0 1rem}.accent-text{color:#E74C3C!important}.right{float:right}.left{float:left}#flotTip,.f-dropdown.xtiny{max-width:150px}.noborder{border:none!important}.no-border-top{border-top:0!important}.nomargin{margin:0!important}.nomargin-left-right{margin-left:0!important;margin-right:0!important}.nomargin-top{margin-top:0!important}.marginright20{margin-right:20px!important}.marginright30{margin-right:30px!important}.marginleft5{margin-left:5px!important}.marginright5{margin-right:5px!important}.padding-left-right-15{padding-left:15px!important}.padtop20{padding-top:20px!important}.padright20{padding-right:20px!important}.padleft30{padding-left:30px!important}.nopadding,.vishide{padding:0!important}.nopadding-right{padding-right:0!important}.nopadding-left{padding-left:0!important}.nopadding-top{padding-top:0!important}.nopadding-bottom{padding-bottom:0!important}.noshadow{box-shadow:none!important;-webkit-box-shadow:none!important;-moz-box-shadow:none!important}.no-overflow-x{overflow-x:hidden!important}.relative{position:relative!important}.hide{display:none!important}.vishide{visibility:hidden!important;opacity:0!important;height:0!important;width:0!important;font-size:0!important;border:0!important;margin:0!important}.font-weight-300{font-weight:300!important}.cursor-pointer{cursor:default!important}.cursor-pointer:hover{cursor:pointer!important}.btn-success{background:#29b955!important;color:#fff!important}.btn-success:hover{background:#40d56e!important}.button-group>li{float:left;margin:0}a.blackLink{color:#000!important}a.hoverUnderline:hover{text-decoration:underline!important}.profilePic{width:50px;height:50px;border:none}.page-content-left,.page-title-border-right{border-right:1px solid #dadada}.profilePic img{height:50px;width:50px;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%}.page-title,.page-title-right{height:70px;background:#f7f8fa;border-top:2px solid #f7f8fa;box-shadow:2px 2px 2px 0 rgba(44,62,80,.1);padding:0 15px 0 35px;font-family:Roboto,sans-serif}.page-content,.page-content-left,.page-content-right{border-top:1px solid #dadada}.page-title p,.page-title-right p{font-size:30px;margin:0;line-height:68px;color:#3c3c3c;font-weight:300}.page-title p.left,.page-title-right p.left{line-height:68px}.page-title-right.page-title-small p,.page-title.page-title-small p{font-size:28px}.page-title-shadow{box-shadow:0 3px 6px rgba(0,0,0,.1),0 3px 6px rgba(0,0,0,.15)!important}.f-dropdown,.panel.trupanel{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.page-title-border-bottom{border-bottom:1px solid #dadada}.page-content{background:#f7f8fa}.page-content-right{background:#FFF}.page-content-left{background:#f7f8fa}.fa-large{font-size:24px;line-height:26px}span.user-offline,span.user-online{display:block;height:17px;width:17px;position:absolute;right:2px;bottom:-4px;background:#29b955;line-height:1;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%;border:2px solid #fff}span.user-offline{background:#9e9e9e}span.user-status-large{height:25px;width:25px;border-width:3px}.button:focus,.button:hover,button:focus,button:hover{background-color:#e43725}a.button,button{color:#fff;font-family:"Source Sans Pro",sans-serif;font-weight:600;font-size:14px;padding:4px 16px;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;background:#E74C3C;outline:0}a.button.dropdown,button.dropdown{padding-right:40px}a.button.dropdown:after,button.dropdown:after{width:auto;height:auto;right:12px;top:10px;font-family:FontAwesome;content:"\f078";border:none;font-size:12px}a.button:hover,button:hover{background:#e43725;color:#fff}a.button i,button i{font-weight:400;margin-right:10px;font-size:14px}.f-dropdown{background:#fff;border:#bac6df}.f-dropdown.noarrow:after,.f-dropdown.noarrow:before{border:none}.panel hr{margin:0}.panel.trupanel{background:#FFF;border:#d9d9d9;transition:all 280ms ease-in-out;-webkit-transition:all 280ms ease-in-out}.action-link,.action-link:active,.action-link:focus,.action-link:hover,.action-link:visited{background:0 0}.panel.trupanel:hover:not(.no-hover-shadow){box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.panel .panel-body{padding:15px}.tru-card-content{padding:16px}.tru-card-content h2{font-size:24px;font-weight:500;line-height:30px;color:#444}.action-link{padding:0;border:none;margin:0;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0}.action-link:last-child{margin-right:10px}.action-link i{color:#727272;padding:6px 0 0;margin:4px 4px 0 0;font-size:22px;cursor:pointer;width:32px!important;height:32px!important;text-align:center;-webkit-transition:background 280ms ease-out,color 280ms ease-out;transition:background 280ms ease-out,color 280ms ease-out;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%}.action-link i:hover{background:#d6d8dc}.top-bar-section ul.uk-topbar{display:block;width:100%;margin-right:-5px!important}.top-bar-section ul.uk-topbar li{float:none!important;width:100%!important;background:#f5f5f5!important;line-height:1.4em!important;height:auto!important}.top-bar-section ul.uk-topbar a{display:block;width:100%;background:#f5f5f5!important;line-height:1.4em!important;padding:5px 15px!important;color:#212121!important}.top-bar-section ul.uk-topbar a:hover{background:rgba(0,0,0,.085)!important;color:#212121!important}.disconnected{z-index:10000;border:none;background:rgba(0,0,0,.76);position:absolute;top:0;left:0;width:100%;height:100%;margin:0;padding:0}.page-center{position:absolute;top:50%;left:50%;text-align:center;transform:translate(-50%,-50%)}.overlay-message,.overlay-message>p{font-family:Roboto,"Open Sans",sans-serif;font-weight:300;font-size:32px;color:#fff}#pieChart g[class$='_arc'] path,#pieChart g[class$='_labels-inner'] text{cursor:pointer}@media only screen and (min-width:40.063em) and (max-width:64em){.page-right-content{padding:0 0 0 55px!important}}#page-content-inner{padding:24px 24px 100px}div.ptooltip-box-wrap{display:none;position:absolute;left:50%;bottom:35px;margin-left:-75px;z-index:99999;opacity:.95}div.ptooltip-box{position:relative;width:150px;max-width:150px;min-height:45px;background:#223140;text-align:center;padding:7px 0;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;box-shadow:1px 1px 1px rgba(0,0,0,.3);-webkit-box-shadow:1px 1px 1px rgba(0,0,0,.3);-moz-box-shadow:1px 1px 1px rgba(0,0,0,.3)}div.ptooltip-box:after,div.ptooltip-box:before{position:absolute;top:100%;left:50%;border:solid transparent;content:" ";height:0;width:0;pointer-events:none;border-color:rgba(34,49,64,0);border-top-color:#223140}div.ptooltip-box:before{border-width:11px;margin-left:-11px}div.ptooltip-box:after{border-width:5px;margin-left:-5px}div.ptooltip-box span{display:block;font-family:"Source Sans Pro",sans-serif;font-weight:400;font-size:12px!important;color:#fff;margin-bottom:5px}.uk-modal span,div.ptooltip-box span:last-child{margin-bottom:0}div.ptooltip-box span:first-child{font-weight:600}div.ptooltip-box span span{display:inline!important}.alert-message{position:absolute;top:50px;left:50%;width:380px;height:55px;background:red;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px}.largeProfilePic,.mediumProfilePic{border:2px solid #fff;background:0 0;position:relative;width:256px;height:256px;overflow:hidden}.largeProfilePic img,.mediumProfilePic img{width:256px;height:256px}.mediumProfilePic,.mediumProfilePic img{width:128px;height:128px}.mediumProfilePic{border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%}.profilePicHover{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);transition:all 280ms cubic-bezier(.4,0,.2,1)}.profilePicHover:hover{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}div.hoverAction{position:absolute;bottom:-256px;left:0;width:100%;height:256px;opacity:.72;background:#000;text-align:center;color:#fff;z-index:300}div.hoverAction span{display:inline-block;padding-top:0;font-weight:300;font-size:20px;line-height:256px}.uk-modal h2,.uk-modal h5{font-family:Roboto,"Open Sans",sans-serif;font-weight:300}.uk-modal .chosen-container-multi .chosen-choices{border:1px solid #dfe4ef;background:#f3f5f9;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px}.uk-modal .chosen-container-multi .chosen-drop{background:#fff;border-color:#dfe4ef}.uk-modal span{font-size:.875rem;color:#4d4d4d;font-weight:400;line-height:1.5}.uk-modal button:not(.md-btn),.uk-modal input,.uk-modal textarea{font-size:14px;font-family:Roboto,"Open Sans",sans-serif}.uk-modal span.uk-badge{color:#fff}.uk-modal input,.uk-modal textarea{color:#3d4854;resize:none;background:#f3f5f9;border:1px solid #dfe4ef;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;box-sizing:border-box;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.uk-modal input:active,.uk-modal input:focus,.uk-modal textarea:active,.uk-modal textarea:focus{background:#fafafa;border-color:#dfe4ef;outline:0;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.uk-modal button:not(.md-btn){color:#fff;font-weight:300;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px}.uk-modal button:not(.md-btn):active,.uk-modal button:not(.md-btn):focus{outline:0}.uk-modal button:not(.md-btn).cancel{background:#cdd5e4;color:#59606d}.uk-modal button:not(.md-btn).cancel:active,.uk-modal button:not(.md-btn).cancel:hover{background:#c3cddf}.uk-modal button:not(.md-btn).red{background:#F95E56;color:#fff!important;font-weight:500}.uk-modal button:not(.md-btn).red:active,.uk-modal button:not(.md-btn).red:hover{background:#f72f25}.pagination{margin-right:8px}.pagination .pagination-info{font-family:Roboto,"Open Sans",sans-serif;font-size:13px;font-weight:300;float:left;display:inline-block;margin-right:10px;padding-top:23px}.pagination .button-group{list-style:none;float:left;padding-left:0;margin:0}.pagination .button-group li .btn{max-height:30px;height:30px;margin-right:0;padding:0 16px;background:#FFF;overflow:hidden;border-radius:3px 0 0 3px;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;color:#595f69;line-height:30px}.pagination .button-group li .btn i{margin-right:0;line-height:30px}.pagination .button-group li .btn i.material-icons{font-size:20px;line-height:30px}.pagination .button-group li .btn span{display:inline-block;margin-top:5px}.pagination .button-group li:last-child .btn{border-radius:0 3px 3px 0;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0}.pagination .button-group li.active .btn{background:#E74C3C}.datepicker td span.active,.datepicker td.active.day,.datepicker td.active.year{background:#ea6153}.top-bar,.top-bar-section ul li,.top-nav{background:#42464d;height:75px;line-height:75px}.top-bar .title-area .logo,.top-bar .title-area .logo svg,.top-nav .title-area .logo,.top-nav .title-area .logo svg{height:75px}.top-bar .title-area .logo svg path,.top-nav .title-area .logo svg path{fill:#FFF}.top-bar .title-area .logo svg circle,.top-nav .title-area .logo svg circle{fill:#E74C3C}.top-bar{padding:0 15px}.top-menu{height:75px}.top-bar-section ul li{color:#222;position:relative}.top-bar-section ul li a{background:#42464d!important;color:#FFF!important;padding-top:15px!important;padding-bottom:8px!important}.top-bar-section ul li a:hover,.top-bar-section ul li.top-bar-icon a:hover,.top-bar-section ul li.top-bar-icon a:hover i,.top-bar-section ul li.top-bar-icon:hover,.top-bar-section ul li.top-bar-icon:hover i{color:#e6e6e6!important}.top-bar-section ul li.top-bar-icon{overflow:hidden;padding-right:8px}.top-bar-section ul li.top-bar-icon,.top-bar-section ul li.top-bar-icon a{font-size:30px;font-family:FontAwesome,sans-serif}.top-bar-section ul li.top-bar-icon a:hover svg,.top-bar-section ul li.top-bar-icon:hover svg{fill:#e6e6e6!important}.top-bar-section ul li.top-bar-icon a button,.top-bar-section ul li.top-bar-icon button{border:none;outline:0;background:0 0;color:#FFF;padding:0 5px;margin:0;height:auto;top:auto;cursor:pointer}.top-bar-section ul li.top-bar-icon a button:hover,.top-bar-section ul li.top-bar-icon button:hover{color:#e6e6e6!important}.top-bar-section ul li.top-bar-icon a button i,.top-bar-section ul li.top-bar-icon button i{margin-right:0}.top-bar-section ul li.top-bar-icon a i,.top-bar-section ul li.top-bar-icon a svg,.top-bar-section ul li.top-bar-icon i,.top-bar-section ul li.top-bar-icon svg{color:#FFF;font-style:normal;font-size:30px;fill:#FFF}.top-bar-section ul li.top-bar-icon a i.material-icons,.top-bar-section ul li.top-bar-icon a svg.material-icons,.top-bar-section ul li.top-bar-icon i.material-icons,.top-bar-section ul li.top-bar-icon svg.material-icons{margin-top:5px;line-height:70px}.top-bar-section ul li.top-bar-icon a svg,.top-bar-section ul li.top-bar-icon svg{width:32px!important;height:32px!important;vertical-align:middle}.top-bar-section ul li.top-bar-icon a span.label,.top-bar-section ul li.top-bar-icon span.label{display:block;color:#fff;height:20px;width:20px;font-size:9px;font-family:Roboto,"Open Sans",sans-serif;font-weight:700;padding:5px 0;position:absolute;right:0;bottom:15px;background:#E74C3C;background:rgba(231,76,60,.9);text-align:center;text-decoration:none;line-height:1;white-space:nowrap;margin-bottom:auto;vertical-align:middle}.chat-dock .chat-box-wrapper .chat-box .chat-box-title h4 a:hover,.comments-wrapper .initial-issue a.comment-email-link:hover,.comments-wrapper .initial-issue a:hover,.comments-wrapper .ticket-comment a.comment-email-link:hover,.comments-wrapper .ticket-comment a:hover,.comments-wrapper .ticket-reply a.comment-email-link:hover,.comments-wrapper .ticket-reply a:hover,.ticket-assignee .ticket-assignee-details a:active:hover,.ticket-assignee .ticket-assignee-details a:active:hover:focus,.ticket-assignee .ticket-assignee-details a:focus:hover,.ticket-assignee .ticket-assignee-details a:focus:hover:focus,.ticket-assignee .ticket-assignee-details a:hover,.ticket-assignee .ticket-assignee-details a:hover:focus{text-decoration:underline}.top-bar-section ul li.top-bar-icon a{padding:0!important}.top-bar-section ul li.profile-area{font-family:Roboto,"Open Sans",sans-serif;font-size:18px;color:#FFF!important;margin-left:10px}.top-bar-section ul li.profile-area:before{content:"\E5D4";font-family:'Material Icons';font-style:normal;font-weight:400;color:#FFF;font-size:30px;position:absolute;left:-10px;top:0}.top-bar-section ul li.profile-area span{display:inline-block;margin:0 20px 0 15px;color:#fff!important}.top-bar-section ul li.profile-area span:hover{color:inherit}.top-bar-section ul li.profile-area a.profile-pic{display:inline-block;width:auto;background:0 0!important;padding:0!important;line-height:10px!important}.top-bar-section ul li.profile-area img{width:50px;height:50px;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%}.notifications{width:300px!important;height:auto!important}.p-dropdown{visibility:hidden;opacity:0;z-index:99999;background:#fff;border:1px solid rgba(100,100,100,.4);box-shadow:0 3px 8px 0 rgba(0,0,0,.247059);-webkit-box-shadow:0 3px 8px 0 rgba(0,0,0,.247059);-moz-box-shadow:0 3px 8px 0 rgba(0,0,0,.247059);-webkit-transition:opacity .5s ease;-moz-transition:opacity .5s ease;-o-transition:opacity .5s ease;-ms-transition:opacity .5s ease;transition:opacity .5s ease}.p-dropdown:after,.p-dropdown:before{content:" ";bottom:100%;left:260px;border:solid transparent;height:0;width:0;position:absolute;pointer-events:none}.p-dropdown:after{border-color:rgba(255,255,255,0);border-bottom-color:#fff;border-width:8px;margin-left:-8px}.p-dropdown:before{border-color:rgba(100,100,100,0);border-bottom-color:#646464;border-width:9px;margin-left:-9px}.p-dropdown.p-dropdown-left:after,.p-dropdown.p-dropdown-left:before{left:25px}.p-dropdown.pDropOpen{visibility:visible;opacity:1}.p-dropdown ul{list-style:none;display:block;float:left;margin:0;padding:0;font-size:12px}div.actions{width:100%;height:auto;border-bottom:1px solid rgba(100,100,100,.4);line-height:24px;font-size:12px;color:#000;font-family:Roboto,sans-serif}div.actions a{width:100%;padding:5px 10px}div.actions strong{margin-left:8px}#mail-notifications,#notifications,#online-Users,.p-dropdown{max-height:400px;position:absolute;left:-9999px}#mail-notifications .mail-Messages,#mail-notifications .notifications-Messages,#mail-notifications .online-Users-List,#notifications .mail-Messages,#notifications .notifications-Messages,#notifications .online-Users-List,#online-Users .mail-Messages,#online-Users .notifications-Messages,#online-Users .online-Users-List,.p-dropdown .mail-Messages,.p-dropdown .notifications-Messages,.p-dropdown .online-Users-List{float:left;max-height:320px;overflow-x:hidden;overflow-y:auto}#mail-notifications .mail-Messages ul,#mail-notifications .notifications-Messages ul,#mail-notifications .online-Users-List ul,#notifications .mail-Messages ul,#notifications .notifications-Messages ul,#notifications .online-Users-List ul,#online-Users .mail-Messages ul,#online-Users .notifications-Messages ul,#online-Users .online-Users-List ul,.p-dropdown .mail-Messages ul,.p-dropdown .notifications-Messages ul,.p-dropdown .online-Users-List ul{float:left;height:100%}#mail-notifications li,#notifications li,#online-Users li,.p-dropdown li{width:100%;background:#fff!important;border-bottom:1px solid rgba(100,100,100,.4);height:72px;max-height:80px;line-height:normal}#mail-notifications li:hover,#notifications li:hover,#online-Users li:hover,.p-dropdown li:hover{background:#f3f5f9!important}#mail-notifications li:last-child,#notifications li:last-child,#online-Users li:last-child,.p-dropdown li:last-child{border-bottom:none}#mail-notifications li .messageNotification,#notifications li .messageNotification,#online-Users li .messageNotification,.p-dropdown li .messageNotification{display:block;width:100%;height:71px;padding:10px!important;background:#fff!important;line-height:normal!important;font-size:12px;color:#000!important;position:relative}#mail-notifications li .messageNotification:hover,#notifications li .messageNotification:hover,#online-Users li .messageNotification:hover,.p-dropdown li .messageNotification:hover{background:0 0!important;color:#000!important}#mail-notifications li .messageNotification .messageUnread,#notifications li .messageNotification .messageUnread,#online-Users li .messageNotification .messageUnread,.p-dropdown li .messageNotification .messageUnread{width:16px;height:16px;font-size:12px;font-family:FontAwesome;color:#646464;position:absolute;top:8px;right:3px}#mail-notifications li .messageNotification .messageUnread:before,#notifications li .messageNotification .messageUnread:before,#online-Users li .messageNotification .messageUnread:before,.p-dropdown li .messageNotification .messageUnread:before{content:"\f111"}#mail-notifications li .messageNotification .messageUnread.read:before,#notifications li .messageNotification .messageUnread.read:before,#online-Users li .messageNotification .messageUnread.read:before,.p-dropdown li .messageNotification .messageUnread.read:before{content:"\f10c"}#mail-notifications li .messageNotification div.messageAuthor,#mail-notifications li .messageNotification div.messageDate,#mail-notifications li .messageNotification div.messageSnippet,#notifications li .messageNotification div.messageAuthor,#notifications li .messageNotification div.messageDate,#notifications li .messageNotification div.messageSnippet,#online-Users li .messageNotification div.messageAuthor,#online-Users li .messageNotification div.messageDate,#online-Users li .messageNotification div.messageSnippet,.p-dropdown li .messageNotification div.messageAuthor,.p-dropdown li .messageNotification div.messageDate,.p-dropdown li .messageNotification div.messageSnippet{margin-left:60px;margin-bottom:3px}#mail-notifications li .messageNotification div.messageDate,#notifications li .messageNotification div.messageDate,#online-Users li .messageNotification div.messageDate,.p-dropdown li .messageNotification div.messageDate{color:#646464!important}#mail-notifications li .messageNotification div.messageSnippet,#notifications li .messageNotification div.messageSnippet,#online-Users li .messageNotification div.messageSnippet,.p-dropdown li .messageNotification div.messageSnippet{width:218px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#mail-notifications li .messageNotification i,#notifications li .messageNotification i,#online-Users li .messageNotification i,.p-dropdown li .messageNotification i{display:block;width:50px;font-size:25px;line-height:59px;text-align:center;color:#000;background:0 0!important}#mail-notifications li .messageNotification i.warn,#notifications li .messageNotification i.warn,#online-Users li .messageNotification i.warn,.p-dropdown li .messageNotification i.warn{color:#e7a13c}#mail-notifications li .messageNotification i.green,#notifications li .messageNotification i.green,#online-Users li .messageNotification i.green,.p-dropdown li .messageNotification i.green{color:#29b955}#mail-notifications li .messageNotification i.red,#notifications li .messageNotification i.red,#online-Users li .messageNotification i.red,.p-dropdown li .messageNotification i.red{color:#b92929}#mail-notifications li .messageNotification i.blue,#notifications li .messageNotification i.blue,#online-Users li .messageNotification i.blue,.p-dropdown li .messageNotification i.blue{color:#017ebc}#mail-notifications.p-dropdown-small,#mail-notifications.p-dropdown-xsmall,#notifications.p-dropdown-small,#notifications.p-dropdown-xsmall,#online-Users.p-dropdown-small,#online-Users.p-dropdown-xsmall,.p-dropdown.p-dropdown-small,.p-dropdown.p-dropdown-xsmall{width:240px!important}#mail-notifications.p-dropdown-small:after,#mail-notifications.p-dropdown-small:before,#mail-notifications.p-dropdown-xsmall:after,#mail-notifications.p-dropdown-xsmall:before,#notifications.p-dropdown-small:after,#notifications.p-dropdown-small:before,#notifications.p-dropdown-xsmall:after,#notifications.p-dropdown-xsmall:before,#online-Users.p-dropdown-small:after,#online-Users.p-dropdown-small:before,#online-Users.p-dropdown-xsmall:after,#online-Users.p-dropdown-xsmall:before,.p-dropdown.p-dropdown-small:after,.p-dropdown.p-dropdown-small:before,.p-dropdown.p-dropdown-xsmall:after,.p-dropdown.p-dropdown-xsmall:before{content:" ";left:215px}#mail-notifications.p-dropdown-small div.notifications-Messages,#mail-notifications.p-dropdown-small div.notifications-Messages ul,#mail-notifications.p-dropdown-xsmall div.notifications-Messages,#mail-notifications.p-dropdown-xsmall div.notifications-Messages ul,#notifications.p-dropdown-small div.notifications-Messages,#notifications.p-dropdown-small div.notifications-Messages ul,#notifications.p-dropdown-xsmall div.notifications-Messages,#notifications.p-dropdown-xsmall div.notifications-Messages ul,#online-Users.p-dropdown-small div.notifications-Messages,#online-Users.p-dropdown-small div.notifications-Messages ul,#online-Users.p-dropdown-xsmall div.notifications-Messages,#online-Users.p-dropdown-xsmall div.notifications-Messages ul,.p-dropdown.p-dropdown-small div.notifications-Messages,.p-dropdown.p-dropdown-small div.notifications-Messages ul,.p-dropdown.p-dropdown-xsmall div.notifications-Messages,.p-dropdown.p-dropdown-xsmall div.notifications-Messages ul{width:100%}#mail-notifications.p-dropdown-small div.notifications-Messages ul li,#mail-notifications.p-dropdown-xsmall div.notifications-Messages ul li,#notifications.p-dropdown-small div.notifications-Messages ul li,#notifications.p-dropdown-xsmall div.notifications-Messages ul li,#online-Users.p-dropdown-small div.notifications-Messages ul li,#online-Users.p-dropdown-xsmall div.notifications-Messages ul li,.p-dropdown.p-dropdown-small div.notifications-Messages ul li,.p-dropdown.p-dropdown-xsmall div.notifications-Messages ul li{height:40px;width:100%}#mail-notifications.p-dropdown-small div.notifications-Messages a.messageNotification,#mail-notifications.p-dropdown-xsmall div.notifications-Messages a.messageNotification,#notifications.p-dropdown-small div.notifications-Messages a.messageNotification,#notifications.p-dropdown-xsmall div.notifications-Messages a.messageNotification,#online-Users.p-dropdown-small div.notifications-Messages a.messageNotification,#online-Users.p-dropdown-xsmall div.notifications-Messages a.messageNotification,.p-dropdown.p-dropdown-small div.notifications-Messages a.messageNotification,.p-dropdown.p-dropdown-xsmall div.notifications-Messages a.messageNotification{height:100%;padding-bottom:0!important}#mail-notifications.p-dropdown-small div.notifications-Messages .messageIcon i,#mail-notifications.p-dropdown-xsmall div.notifications-Messages .messageIcon i,#notifications.p-dropdown-small div.notifications-Messages .messageIcon i,#notifications.p-dropdown-xsmall div.notifications-Messages .messageIcon i,#online-Users.p-dropdown-small div.notifications-Messages .messageIcon i,#online-Users.p-dropdown-xsmall div.notifications-Messages .messageIcon i,.p-dropdown.p-dropdown-small div.notifications-Messages .messageIcon i,.p-dropdown.p-dropdown-xsmall div.notifications-Messages .messageIcon i{width:25px;height:25px;line-height:25px;font-size:20px}#mail-notifications.p-dropdown-small div.notifications-Messages .messageAuthor,#mail-notifications.p-dropdown-xsmall div.notifications-Messages .messageAuthor,#notifications.p-dropdown-small div.notifications-Messages .messageAuthor,#notifications.p-dropdown-xsmall div.notifications-Messages .messageAuthor,#online-Users.p-dropdown-small div.notifications-Messages .messageAuthor,#online-Users.p-dropdown-xsmall div.notifications-Messages .messageAuthor,.p-dropdown.p-dropdown-small div.notifications-Messages .messageAuthor,.p-dropdown.p-dropdown-xsmall div.notifications-Messages .messageAuthor{margin-left:40px;padding-top:3px}#mail-notifications.p-dropdown-xsmall,#notifications.p-dropdown-xsmall,#online-Users.p-dropdown-xsmall,.p-dropdown.p-dropdown-xsmall{width:140px!important}#mail-notifications.p-dropdown-xsmall:after,#mail-notifications.p-dropdown-xsmall:before,#notifications.p-dropdown-xsmall:after,#notifications.p-dropdown-xsmall:before,#online-Users.p-dropdown-xsmall:after,#online-Users.p-dropdown-xsmall:before,.p-dropdown.p-dropdown-xsmall:after,.p-dropdown.p-dropdown-xsmall:before{content:" ";left:120px}.sidebar{background:#e6e7e8;color:#3f444c;width:215px;position:fixed;top:75px;left:0;bottom:0;box-shadow:inset -1px 0 0 0 rgba(0,0,0,.1);-webkit-box-shadow:inset -1px 0 0 0 rgba(0,0,0,.1);-moz-box-shadow:inset -1px 0 0 0 rgba(0,0,0,.1)}@media only screen and (min-width:40.063em) and (max-width:64em){.sidebar{position:absolute;top:75px;left:0;width:55px;max-width:55px;z-index:9999;overflow:hidden}}ul.side-nav,ul.side-nav-sub{list-style:none;line-height:1.6;display:block;margin:0;padding:.875rem 0}ul.side-nav hr,ul.side-nav-sub hr{margin:5px 0;background:#ccc}ul.side-nav li,ul.side-nav-sub li{font-size:14px;font-family:Roboto,sans-serif;margin:0;font-weight:400}ul.side-nav li.active>a,ul.side-nav-sub li.active>a{border-left:2px solid #E74C3C;font-family:Roboto,sans-serif!important;background:#595f69!important;color:#fff!important}ul.side-nav li.active>a i,ul.side-nav li.active>a svg,ul.side-nav-sub li.active>a i,ul.side-nav-sub li.active>a svg{color:#fff;fill:#fff}ul.side-nav li.active>a:after,ul.side-nav-sub li.active>a:after{width:0;height:0;border-style:solid;border-width:9px 9px 9px 0;border-color:transparent #f7f8fa transparent transparent;content:"";position:absolute;top:50%;margin-top:-9px;right:0}ul.side-nav a,ul.side-nav-sub a{padding:0 .875rem 0 60px!important;color:#3f444c!important;border-left:2px solid #e6e7e8;position:relative;line-height:48px;height:48px}ul.side-nav a:not(.button),ul.side-nav-sub a:not(.button){display:block;margin:0}ul.side-nav a span,ul.side-nav-sub a span{padding-bottom:5px}ul.side-nav a:hover,ul.side-nav-sub a:hover{border-left:2px solid #E74C3C;background:#d2d3d6!important}ul.side-nav a:hover i,ul.side-nav a:hover svg,ul.side-nav-sub a:hover i,ul.side-nav-sub a:hover svg{color:#3f444c;fill:#3f444c}ul.side-nav a:hover i.icon-accounts,ul.side-nav a:hover svg.icon-accounts,ul.side-nav-sub a:hover i.icon-accounts,ul.side-nav-sub a:hover svg.icon-accounts{background-position:0 -24px}ul.side-nav a:hover i.icon-groups,ul.side-nav a:hover svg.icon-groups,ul.side-nav-sub a:hover i.icon-groups,ul.side-nav-sub a:hover svg.icon-groups{background-position:0 -22px}ul.side-nav a:hover i.icon-invoices,ul.side-nav a:hover svg.icon-invoices,ul.side-nav-sub a:hover i.icon-invoices,ul.side-nav-sub a:hover svg.icon-invoices{background-position:0 -20px}ul.side-nav a i,ul.side-nav a svg,ul.side-nav-sub a i,ul.side-nav-sub a svg{line-height:26px;margin-right:15px;color:#3f444c;margin-top:5px;position:absolute;top:5px;left:15px;fill:#3f444c}ul.side-nav-sub{list-style:none;background:#dfe0e2;box-shadow:none;box-shadow:inset -1px 0 0 0 rgba(0,0,0,.1);-webkit-box-shadow:inset -1px 0 0 0 rgba(0,0,0,.1);-moz-box-shadow:inset -1px 0 0 0 rgba(0,0,0,.1);margin:0;padding:10px 0;overflow:hidden;display:none}ul.side-nav-sub.subMenuOpen{display:block}ul.side-nav-sub hr{margin:15px 20px;border:none;height:1px;background:#9c9fa5}ul.side-nav-sub li{margin:5px 0}ul.side-nav-sub li.active a{background:#dfe0e2!important;color:#000!important;font-weight:700;border:none;border-right:1px solid rgba(0,0,0,.1)}ul.side-nav-sub li.active a:after{content:none}ul.side-nav-sub li.active a:hover{background:#d2d3d6!important}ul.side-nav-sub li.active a i,ul.side-nav-sub li.active a svg{color:#000!important;fill:#000!important}ul.side-nav-sub li.active a .fa-sub-icon{line-height:20px;font-size:20px;left:20px;top:0}ul.side-nav-sub li.active a .fa-sub-icon.material-icons{font-size:24px}ul.side-nav-sub li.active a .icon-inbox{background-position:0 -18px}ul.side-nav-sub li.active a .icon-sent{background-position:-16px -17px}ul.side-nav-sub li.active a .icon-trash{background-position:-32px -16px}ul.side-nav-sub li.active a .icon-check{background-position:0 -16px}ul.side-nav-sub a{border:none;font-weight:300;padding-left:62px!important;line-height:30px;height:30px!important;color:#595959}.message-folder,.message-items li.unread .message-from,.message-items li.unread .message-subject{font-weight:600}ul.side-nav-sub a i,ul.side-nav-sub a svg{color:#595959!important;fill:#595959!important}ul.side-nav-sub a:hover{border:none;color:#222!important;background:#d2d3d6!important}ul.side-nav-sub a:hover i,ul.side-nav-sub a:hover svg{color:#222!important;fill:#222!important}ul.side-nav-sub a:hover .icon-inbox{background-position:0 -18px}ul.side-nav-sub a:hover .icon-sent{background-position:-16px -17px}ul.side-nav-sub a:hover .icon-trash{background-position:-32px -16px}ul.side-nav-sub a:hover .icon-check{background-position:0 -16px}ul.side-nav-sub a .fa-sub-icon,ul.side-nav-sub a svg{line-height:20px;font-size:20px;left:20px;top:0}ul.side-nav-sub a .fa-sub-icon.material-icons,ul.side-nav-sub a svg.material-icons{font-size:24px}.icon-check,.icon-inbox,.icon-sent,.icon-trash{width:16px;height:16px;background:url(/img/inbox.png) no-repeat;position:absolute;top:3px!important;left:20px!important}.icon-check{background-image:url(/img/tickets_submenu.png)}.icon-sent{background-position:-16px 0}.icon-trash{background-position:-32px 0;left:22px!important}.icon-accounts{width:18px;height:24px;background:url(/img/accounts.png) no-repeat}.icon-groups{width:22px;height:22px;background:url(/img/groups.png) no-repeat}.icon-invoices{width:24px;height:20px;background:url(/img/invoices.png) no-repeat;top:10px!important}.message-list{padding:0!important}@media only screen and (min-width:40.063em) and (max-width:64em){.message-list{padding:0 0 0 55px!important}}.message-items{list-style:none;background:#f7f8fa;min-height:100%;padding:0;margin:0;border-top:1px solid #dadada;border-right:1px solid #dadada;overflow:auto}.message-items li{height:85px;padding-top:17px;padding-left:32px;border-bottom:1px solid #dadada;position:relative}.message-items li:hover{background:#fff;cursor:pointer}.message-items li.message-folder:hover{background:#f7f8fa;cursor:default}.message-items li.active{background:#fff}.message-items li.active:before,.message-items li.message-tag:before{content:"";width:3px;height:100%;position:absolute;bottom:0;top:0;left:0;border-left:4px solid #E74C3C}.message-items li.message-tag-blue:before{border-left:4px solid #2980b9!important}.message-folder{line-height:85px;padding-top:0!important;font-size:24px;font-family:Roboto,"Open Sans",sans-serif;color:#E74C3C}.message-folder:hover{background:inherit!important}.invoice-date,.message-date{position:absolute;top:20px;right:20px;color:#8891a3;font-size:12px;font-family:"Source Sans Pro",sans-serif}.invoice-date,.invoice-overdue{font-family:Roboto,sans-serif}.invoice-date{top:17px}.invoice-overdue{position:absolute;top:40px;right:20px;color:#fff;background:#d32f2f;padding:0 10px;font-size:11px;font-weight:300;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px}.invoice-name,.message-from{display:inline-block;font-family:"Source Sans Pro",sans-serif;color:#3c3c3c;font-size:14px;padding-left:8px}.invoice-name,.invoice-payee,.message-subject{font-family:Roboto,sans-serif}.invoice-name{font-weight:500;padding-left:0}.invoice-payee,.message-subject{display:block;padding-left:25px;font-size:14px;color:#3c3c3c}.message-header h1,.message-header h5,.message-header span{font-family:Roboto,"Open Sans",sans-serif;font-weight:300}.invoice-payee{padding-left:0;padding-top:5px}.message-content{background:#fff}.message-header{border-bottom:1px solid #dadada;padding:20px 30px 30px;position:relative}.message-header h1,.message-header h5{display:block;font-size:30px;color:#3d4854;margin-bottom:5px}.message-header h5{display:inline-block;font-size:14px}.message-header span{display:inline-block;width:40px;margin-right:5px;padding-left:3px;color:#888;font-size:14px}.message-profile-image{height:96px;width:96px;max-height:100%;float:left;margin-right:25px}.message-profile-image img{border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%}input[type=checkbox].poloCheckbox{visibility:hidden}input[type=checkbox].poloCheckbox+label{display:inline-block;height:14px;width:16px;background:url(/img/checkbox.png) no-repeat;cursor:pointer;position:absolute;top:19px;left:5px}input[type=checkbox]:checked.poloCheckbox+label{background-position:0 -14px}.message{padding:30px 30px 30px 60px;overflow:auto}.message p{font-size:14px;font-weight:400;line-height:30px;margin-bottom:40px;color:#222}.button-group li.active>a,.button-group li.active>button{background:#E74C3C;color:#fff}.button-group a.btn,.button-group button{display:block;color:#5a5f68;font-family:"Source Sans Pro",sans-serif;font-weight:600;font-size:14px;margin:18px 5px 0 0;padding:4px 16px;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;background:inherit;border-left:none!important;border-color:transparent;line-height:inherit}.button-group a.btn:active,.button-group a.btn:focus,.button-group button:active,.button-group button:focus{outline:0}.button-group a.btn:hover,.button-group button:hover{background:#E74C3C;color:#fff}.button-group a.btn i,.button-group button i{font-weight:400;margin-right:10px;font-size:14px}.icon-button{display:block;color:#5a5f68;padding:0;background:inherit;margin:20px 0 0}.icon-button:hover{color:#E74C3C}.icon-button i{font-size:24px}@media only screen and (min-width:40.063em) and (max-width:64em){.ticketContent{padding:0 0 0 55px!important}}.accountList,.ticketList{overflow:hidden}div#accountsTable_wrapper,div#ticketTable_wrapper{margin-bottom:0}.ticket-status span{display:block;width:65px;line-height:25px;height:25px;text-align:center;font-size:12px;font-weight:300;font-family:Roboto,sans-serif;color:#fff;background:#CCC;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px}.page-top-comments a.btn,.page-top-comments button,.page-top-comments button.btn,.tag-info-wrap h4,.ticket-assignee .ticket-assignee-details h3,.ticket-assignee-wrap h4{font-family:Roboto,"Open Sans",sans-serif}.ticket-status-open,.ticket-status.ticket-open span{background:#d32f2f!important}.ticket-status-new,.ticket-status.ticket-new span{background:#29b955!important}.ticket-status-pending,.ticket-status.ticket-pending span{background:#2196F3!important}.ticket-status-closed,.ticket-status.ticket-closed span{background:#CCC!important}.ticket-priority{border-left:10px solid transparent}.ticket-priority.ticket-priority-2{border-color:#8e24aa}.ticket-priority.ticket-priority-3{border-color:#e65100}.floating-ticket-status{position:absolute;top:22px;right:18px}.floating-ticket-status .ticket-status span{font-weight:500}.floating-ticket-status #statusSelect{transition:all .4s cubic-bezier(.4,0,.2,1);height:0;overflow:hidden;opacity:0}.floating-ticket-status #statusSelect.hide{display:block!important;height:0!important;opacity:0!important}.floating-ticket-status #statusSelect.shown{height:124px!important;opacity:1!important}#statusSelect{position:absolute;top:28px;left:-5px;padding:5px;background:#fff;border:1px solid #bec4d0;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;z-index:999}#statusSelect ul{margin:0;padding:0;list-style:none}#statusSelect ul li{margin-bottom:3px;cursor:pointer}.page-actions .print-ticket a{display:inline-block;margin:19px;color:#707989;font-size:14px;font-weight:300}.page-actions .print-ticket a:hover{color:#59606d}.page-actions .print-ticket i{display:inline-block;margin-right:8px;font-size:18px}.page-top-comments .active>a,.page-top-comments .active>button{background:#cad2e2}.page-top-comments a.btn,.page-top-comments button,.page-top-comments button.btn{background:#c8cfdd;display:block;color:#484848;font-weight:400;font-size:12px;margin:18px 5px 0 0;padding:6px 16px;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;height:28px;line-height:14px}.page-top-comments a.btn:hover,.page-top-comments button.btn:hover,.page-top-comments button:hover{background:#b8c1d3}.page-top-comments a.btn i,.page-top-comments button i,.page-top-comments button.btn i{font-weight:400;margin-right:10px;font-size:14px}.tag-info-wrap,.ticket-assignee-wrap{padding-left:30px;padding-top:30px;margin-bottom:40px}.tag-info-wrap.tru-card,.ticket-assignee-wrap.tru-card{background:#fff;padding:5px 15px 15px;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;margin:30px}.tag-info-wrap h4,.ticket-assignee-wrap h4{font-size:14px;color:#8e98a2;margin-bottom:10px}.ticket-assignee{line-height:1}.ticket-assignee img{float:left;display:block;width:50px;height:50px;margin-left:5px;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%}.ticket-assignee .ticket-assignee-details{padding-left:75px}.ticket-assignee .ticket-assignee-details h3{font-size:14px;color:#3d4854;margin:0 0 7px;line-height:normal}.ticket-assignee .ticket-assignee-details a,.ticket-assignee .ticket-assignee-details a:active,.ticket-assignee .ticket-assignee-details a:focus{display:block;font:400 12px/15px Roboto,"Open Sans",sans-serif;color:#76797e;margin:0 0 2px}.comments-wrapper .initial-issue .attachments,.comments-wrapper .initial-issue h3,.comments-wrapper .initial-issue time,.comments-wrapper .ticket-comment .attachments,.comments-wrapper .ticket-comment h3,.comments-wrapper .ticket-comment time,.comments-wrapper .ticket-reply .attachments,.comments-wrapper .ticket-reply h3,.comments-wrapper .ticket-reply time,.ticket-assignee .ticket-assignee-details span,.ticket-details,.ticket-details .input-box,.ticket-details .input-box .item,.ticket-details .tag-list,.ticket-details .tag-list .item,.ticket-details input,.ticket-details label,.ticket-details select{font-family:Roboto,"Open Sans",sans-serif}.ticket-assignee .ticket-assignee-details span{font-size:12px;color:#76797e;margin:0 0 3px}.ticket-details{display:block;min-height:150px;background:#fff;border:1px solid #d3d9e4;margin:0 15px 30px!important;padding:15px!important;font-size:12px;color:#76797e;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px}.ticket-details label{font-size:12px;color:#76797e;margin-bottom:3px}.ticket-details .input-box,.ticket-details .tag-list,.ticket-details input,.ticket-details select{font-size:12px;height:25px;width:97%;padding:5px 10px;margin-bottom:12px;color:#484848;background:#f3f5f9;border:1px solid #bec4d0;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.ticket-details .input-box:focus,.ticket-details .tag-list:focus,.ticket-details input:focus,.ticket-details select:focus{outline:0;border-color:#bec4d0;background:#fff;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.ticket-details select,.ticket-details select:focus{-webkit-appearance:none;background:url("data:image/svg+xml;utf8,") 100% 50% no-repeat;border:none;border-bottom:1px solid #CCC;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0;padding:0}.ticket-details .input-box,.ticket-details .tag-list{display:block;padding:0;height:auto;min-height:25px;max-height:none;margin-bottom:5px;background:inherit;border:none;border-bottom:1px solid #CCC;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0}.ticket-details .input-box .item,.ticket-details .tag-list .item{display:inline-block;float:left;font-size:12px;padding:0 8px;margin:2px 0 0 2px;max-height:20px;background:#3498db;color:#fff;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px}.ticket-details .input-box .item.orange,.ticket-details .tag-list .item.orange{background:#db5334}.ticket-details .input-box .item:last-of-type,.ticket-details .tag-list .item:last-of-type{margin-bottom:2px}.ticket-details .input-box{margin-bottom:15px}.history-items{height:185px;width:100%}.history-items .history-item{border-bottom:1px solid #ddd;margin-bottom:10px}.history-items .history-item em,.history-items .history-item p{font-size:11px;line-height:13px;margin-bottom:7px;color:#76797e}.history-items .history-item time{font-size:11px;font-weight:600;line-height:13px}.history-items .history-item em{display:block;font-style:normal}.history-items .history-item em span{font-weight:600}.history-items .history-item p{font-weight:400;margin-top:3px;display:inline-block}.comments-wrapper .initial-issue,.comments-wrapper .ticket-comment,.comments-wrapper .ticket-reply{padding:20px 20px 15px 25px;border-bottom:none}.comments-wrapper .initial-issue img,.comments-wrapper .ticket-comment img,.comments-wrapper .ticket-reply img{display:block;float:left;height:50px;width:50px;margin-left:10px;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%}.comments-wrapper .initial-issue .issue-text,.comments-wrapper .ticket-comment .issue-text,.comments-wrapper .ticket-reply .issue-text{padding-left:85px}.comments-wrapper .initial-issue h3,.comments-wrapper .ticket-comment h3,.comments-wrapper .ticket-reply h3{margin:0 0 5px;font-size:18px;font-weight:600;color:#3d4854}.comments-wrapper .initial-issue a,.comments-wrapper .initial-issue a.comment-email-link,.comments-wrapper .ticket-comment a,.comments-wrapper .ticket-comment a.comment-email-link,.comments-wrapper .ticket-reply a,.comments-wrapper .ticket-reply a.comment-email-link{display:inline-block;font-size:12px;font-family:Roboto,"Open Sans",sans-serif;color:#E74C3C;margin-left:2px}.comments-wrapper .initial-issue a,.comments-wrapper .ticket-comment a,.comments-wrapper .ticket-reply a{font-size:14px}.comments-wrapper .initial-issue time,.comments-wrapper .ticket-comment time,.comments-wrapper .ticket-reply time{font-size:12px;color:#76797e;display:block;margin-bottom:4px;margin-left:2px}.comments-wrapper .initial-issue .attachments,.comments-wrapper .ticket-comment .attachments,.comments-wrapper .ticket-reply .attachments{margin:0 0 25px;font-size:12px;color:#76797e;list-style:none;display:inline-block}.comments-wrapper .initial-issue .attachments li,.comments-wrapper .ticket-comment .attachments li,.comments-wrapper .ticket-reply .attachments li{position:relative;padding-left:15px;margin-right:8px;display:inline-block}.comments-wrapper .initial-issue .attachments li:before,.comments-wrapper .ticket-comment .attachments li:before,.comments-wrapper .ticket-reply .attachments li:before{content:"\f016";font-family:FontAwesome;position:absolute;top:0;left:0;padding-right:.5em;color:#76797e}.comments-wrapper .initial-issue .attachments a,.comments-wrapper .ticket-comment .attachments a,.comments-wrapper .ticket-reply .attachments a{font-size:12px;color:#6a6c71}.comments-wrapper .initial-issue p,.comments-wrapper .ticket-comment p,.comments-wrapper .ticket-reply p{font-family:Roboto,"Open Sans",sans-serif;font-size:14px;color:#3d4854;line-height:20px}.comments-wrapper .initial-issue,.comments-wrapper .ticket-comment{position:relative}.comments-wrapper .initial-issue .add-attachment,.comments-wrapper .initial-issue .comment-actions,.comments-wrapper .initial-issue .edit-issue,.comments-wrapper .ticket-comment .add-attachment,.comments-wrapper .ticket-comment .comment-actions,.comments-wrapper .ticket-comment .edit-issue{position:absolute;right:25px;top:15px;font-weight:600;font-size:14px;line-height:normal;cursor:pointer;display:none;color:#8699ac}.comments-wrapper .initial-issue .add-attachment,.comments-wrapper .ticket-comment .add-attachment{right:55px}.comments-wrapper .initial-issue:hover .add-attachment,.comments-wrapper .initial-issue:hover .comment-actions,.comments-wrapper .initial-issue:hover .edit-issue,.comments-wrapper .ticket-comment:hover .add-attachment,.comments-wrapper .ticket-comment:hover .comment-actions,.comments-wrapper .ticket-comment:hover .edit-issue{display:block}.comments-wrapper .initial-issue .comment-actions div,.comments-wrapper .ticket-comment .comment-actions div{float:right;display:inline-block;margin:0 5px}.comments-wrapper .initial-issue .comment-box,.comments-wrapper .initial-issue .edit-comment-box,.comments-wrapper .initial-issue .edit-issue-box,.comments-wrapper .ticket-comment .comment-box,.comments-wrapper .ticket-comment .edit-comment-box,.comments-wrapper .ticket-comment .edit-issue-box,.comments-wrapper .ticket-reply .comment-box,.comments-wrapper .ticket-reply .edit-comment-box,.comments-wrapper .ticket-reply .edit-issue-box{width:100%;display:block;padding-left:85px;margin-bottom:1rem}.comments-wrapper .initial-issue .comment-box textarea,.comments-wrapper .initial-issue .edit-comment-box textarea,.comments-wrapper .initial-issue .edit-issue-box textarea,.comments-wrapper .ticket-comment .comment-box textarea,.comments-wrapper .ticket-comment .edit-comment-box textarea,.comments-wrapper .ticket-comment .edit-issue-box textarea,.comments-wrapper .ticket-reply .comment-box textarea,.comments-wrapper .ticket-reply .edit-comment-box textarea,.comments-wrapper .ticket-reply .edit-issue-box textarea{width:100%;font-family:Roboto,"Open Sans",sans-serif;font-size:14px;color:#3d4854;resize:none;border-color:#dfe4ef;border-width:0 0 1px;background:inherit;padding:8px;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.comments-wrapper .initial-issue .comment-box textarea.uk-form-danger,.comments-wrapper .initial-issue .edit-comment-box textarea.uk-form-danger,.comments-wrapper .initial-issue .edit-issue-box textarea.uk-form-danger,.comments-wrapper .ticket-comment .comment-box textarea.uk-form-danger,.comments-wrapper .ticket-comment .edit-comment-box textarea.uk-form-danger,.comments-wrapper .ticket-comment .edit-issue-box textarea.uk-form-danger,.comments-wrapper .ticket-reply .comment-box textarea.uk-form-danger,.comments-wrapper .ticket-reply .edit-comment-box textarea.uk-form-danger,.comments-wrapper .ticket-reply .edit-issue-box textarea.uk-form-danger{border-color:#d32f2f!important;background:0 0!important}.comments-wrapper .initial-issue button[type=reset],.comments-wrapper .initial-issue button[type=submit],.comments-wrapper .ticket-comment button[type=reset],.comments-wrapper .ticket-comment button[type=submit],.comments-wrapper .ticket-reply button[type=reset],.comments-wrapper .ticket-reply button[type=submit]{font-family:Roboto,"Open Sans",sans-serif;font-size:14px;color:#fff;padding:3px 15px;background:#E74C3C;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;font-weight:400}.comments-wrapper .initial-issue button[type=reset]:hover,.comments-wrapper .initial-issue button[type=submit]:hover,.comments-wrapper .ticket-comment button[type=reset]:hover,.comments-wrapper .ticket-comment button[type=submit]:hover,.comments-wrapper .ticket-reply button[type=reset]:hover,.comments-wrapper .ticket-reply button[type=submit]:hover{background:#e43725}.comments-wrapper .initial-issue button[type=reset]:active,.comments-wrapper .initial-issue button[type=reset]:focus,.comments-wrapper .initial-issue button[type=submit]:active,.comments-wrapper .initial-issue button[type=submit]:focus,.comments-wrapper .ticket-comment button[type=reset]:active,.comments-wrapper .ticket-comment button[type=reset]:focus,.comments-wrapper .ticket-comment button[type=submit]:active,.comments-wrapper .ticket-comment button[type=submit]:focus,.comments-wrapper .ticket-reply button[type=reset]:active,.comments-wrapper .ticket-reply button[type=reset]:focus,.comments-wrapper .ticket-reply button[type=submit]:active,.comments-wrapper .ticket-reply button[type=submit]:focus{outline:0}.comments-wrapper .initial-issue button[type=reset],.comments-wrapper .ticket-comment button[type=reset],.comments-wrapper .ticket-reply button[type=reset]{background:#cdd5e4}.comments-wrapper .initial-issue button[type=reset]:hover,.comments-wrapper .ticket-comment button[type=reset]:hover,.comments-wrapper .ticket-reply button[type=reset]:hover{background:#acb9d2}span.uk-form-danger{font-size:11px;background:0 0!important;border:none!important;font-weight:600}.initial-issue,.ticket-comment{border-bottom:1px solid #dfe4ef!important}form.form label,form.ticket-form label{font-family:Roboto,"Open Sans",sans-serif;font-size:14px;font-weight:400;color:#2c3e50;margin-bottom:3px;display:inline-block}form.form input,form.form select,form.form textarea,form.ticket-form input,form.ticket-form select,form.ticket-form textarea{font-family:Roboto,"Open Sans",sans-serif;font-size:14px;color:#223140;background:#eceff6;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none;border:1px solid #9aa1ad}form.form input:focus,form.form select:focus,form.form textarea:focus,form.ticket-form input:focus,form.ticket-form select:focus,form.ticket-form textarea:focus{background:#fdfefe;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none;outline:0}form.form textarea,form.ticket-form textarea{resize:none}input[type=text][disabled]{color:gray;background:#dbe0ee}.dt-borderTop{border-top:1px solid #dadada}.dt-borderBottom{border-bottom:1px solid #dadada}.dataTables_scrollHeadInner{width:100%!important;padding-right:0!important}.dataTables_scrollHeadInner .pDataTable{width:100%!important}.dataTables_scrollBody .pDataTable thead{border:none}.pDataTable,table.dataTable thead{border-bottom:1px solid #dadada}.pDataTable.stripe tr:nth-of-type(even){background:#f7f7f7}.pDataTable.stripe tr:nth-of-type(even):hover{cursor:pointer;background:#f7f8fa}.pDataTable tr{height:52px;padding-right:15px}.pDataTable tbody tr{background:#fff}.pDataTable tbody tr:hover{cursor:pointer;background:#f5f5f6}.pDataTable tbody tr.ticket-new td{font-weight:600}.pDataTable tbody tr.ticket-closed td{font-weight:300;color:#95a1af}.pDataTable tbody tr td{position:relative}.pDataTable tbody tr td label{top:39%;left:5px}.pDataTable tbody tr td.group{background:#e9ecf2}.pDataTable tbody tr td.group:hover{cursor:default}.pDataTable tbody tr td.group span:before{content:"Status ";font-weight:600}.pDataTable .dataTables_empty{font-family:Roboto,"Open Sans",sans-serif;font-size:16px;font-weight:300;padding-top:17px}table.dataTable{margin-top:0!important}table.dataTable thead{background:#f7f8fa;font-family:Roboto,"Open Sans",sans-serif;text-transform:uppercase;border-top:1px solid #dadada;border-right:none;border-left:none}table.dataTable thead .sorting:last-child,table.dataTable thead .sorting_asc:last-child,table.dataTable thead .sorting_desc:last-child{background-position:right 15px center}table.dataTable thead tr th{font-size:12px;color:#55616e;font-weight:400}table.dataTable tbody tr td{font-family:Roboto,"Open Sans",sans-serif;color:#55616e;font-weight:400;font-size:14px}div.dataTables_wrapper{background:#f7f8fa;margin-bottom:0}div.dataTables_wrapper .dataTables_filter{float:right}div.dataTables_wrapper .dataTables_filter input,div.dataTables_wrapper .dataTables_filter label{font-family:Roboto,"Open Sans",sans-serif;font-weight:300;font-size:13px;margin-right:5px}div.dataTables_wrapper .dataTables_filter input{margin:7px 15px 7px 7px;height:30px;padding:8px;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}div.dataTables_wrapper .dataTables_filter input:focus{box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.server-row{margin:25px 0 0!important}.server-box{max-height:290px;background:#fff;margin-bottom:25px;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;box-shadow:0 1px 3px 0 rgba(44,62,80,.2);-webkit-box-shadow:0 1px 3px 0 rgba(44,62,80,.2);-moz-box-shadow:0 1px 3px 0 rgba(44,62,80,.2)}.server-box .server-title{height:40px;background:#29b955;border-radius:3px 3px 0 0;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0}.server-box .server-title.server-status-red{background:#b92929}.server-box .server-title.server-status-green{background:#29b955}.server-box .server-title.server-status-orange{background:#e77c3c}.server-box .server-title p{display:block;width:100%;font-family:Roboto,sans-serif;font-size:14px;font-weight:500;text-align:center;color:#fff;line-height:40px}.server-box .server-content{max-height:250px}.server-box .server-content .row:first-child{padding:25px 20px 15px}.server-box .server-content .row{padding:7px 20px}.server-box .server-content p{color:#2c3e50;font-family:Roboto,sans-serif;font-size:12px;font-weight:400;margin-bottom:0}.server-box .server-ping p:before{content:" ";display:inline-block;width:20px;height:5px;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;background:#29b955;margin-right:10px;vertical-align:middle}.server-box .server-ping p:after{content:"ms"}.server-box .server-ping.ping-status-green p:before{background:#29b955}.server-box .server-ping.ping-status-orange p:before{background:#e77c3c}.server-box .server-ping.ping-status-red p:before,.server-box .server-ping.ping-status-timeout p:before{background:#b92929}.server-box .server-ping.ping-status-timeout p:after{content:''}.server-box .server-col-left p{font-weight:500}.server-box .server-col-right p{text-align:right}.server-box .server-services{margin-bottom:15px}.server-box .server-services .server-services-list{float:left;display:block;list-style:none;margin:0;padding:0;width:100%;height:10px;background:#d5dae6;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px}.server-box .server-services .server-services-list li{float:left;position:relative;border-right:2px solid #fff;width:35px;height:100%;cursor:pointer}.server-box .server-services .server-services-list li:first-child{border-radius:5px 0 0 5px;-webkit-border-radius:5px 0 0 5px;-moz-border-radius:5px 0 0 5px}.server-box .server-services .server-services-list li:first-child.green{border-left:2px solid #29b955}.server-box .server-services .server-services-list li:first-child.orange{border-left:2px solid #e77c3c}.server-box .server-services .server-services-list li:first-child.red{border-left:2px solid #b92929}.server-box .server-services .server-services-list li.green{background:#29b955}.server-box .server-services .server-services-list li.orange{background:#e77c3c}.server-box .server-services .server-services-list li.red{background:#b92929}.server-box .server-services .server-services-list li span{display:block;font-size:0;height:100%;width:100%}.chat-bar,.chat-dock{position:fixed;height:0;width:100%;left:0;bottom:0}.chat-dock{right:0;z-index:300}.chat-dock .chat-box-wrapper{position:relative;display:block}.chat-dock .chat-box-wrapper .chat-box-position{position:relative;top:-280px;left:0}.chat-dock .chat-box-wrapper .chat-box{float:right;margin-right:15px;width:260px;height:280px;background:#f3f5f9;z-index:300;border:1px solid rgba(100,100,100,.4);border-bottom:none;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;box-shadow:0 3px 8px 0 rgba(0,0,0,.247059);-webkit-box-shadow:0 3px 8px 0 rgba(0,0,0,.247059);-moz-box-shadow:0 3px 8px 0 rgba(0,0,0,.247059);-webkit-transition:opacity .5s ease;-moz-transition:opacity .5s ease;-o-transition:opacity .5s ease;-ms-transition:opacity .5s ease;transition:opacity .5s ease}.chat-dock .chat-box-wrapper .chat-box .chat-box-title{display:block;background:#223140;height:29px;border:1px solid transparent;cursor:pointer;box-shadow:0 0 0 1px #223140;-webkit-box-shadow:0 0 0 1px #223140;-moz-box-shadow:0 0 0 1px #223140;border-radius:3px 3px 0 0;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0}.chat-dock .chat-box-wrapper .chat-box .chat-box-title h4{font-size:14px;margin:5px 8px 3px;font-family:"Source Sans Pro",sans-serif}.chat-dock .chat-box-wrapper .chat-box .chat-box-title h4 a{color:#fff}.chat-dock .chat-box-wrapper .chat-box .chat-box-title-buttons{line-height:29px;margin-right:7px;font-size:14px}.chat-dock .chat-box-wrapper .chat-box .chat-box-title-buttons a{color:#bac3c6}.chat-dock .chat-box-wrapper .chat-box .chat-box-title-buttons a:hover{color:#fff}.chat-dock .chat-box-wrapper .chat-box .chat-box-text{display:block;cursor:text;max-height:77px;overflow-x:hidden;overflow-y:auto;padding:7px 49px 4px 5px;position:relative;background:#fff;line-height:16px;height:auto;border-top:1px solid #c9d0da}.chat-dock .chat-box-wrapper .chat-box textarea{resize:none;display:block;border:none;margin:0;min-height:16px;outline:0;padding:0;width:100%;font-size:12px;line-height:normal;overflow:hidden;max-width:100%;white-space:pre-wrap;word-wrap:break-word;height:0;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.chat-dock .chat-box-wrapper .chat-box textarea:focus{background:inherit}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages{background:#edeff4;height:220px;width:100%;border-top:1px solid #223140;padding:7px}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message{margin-bottom:10px;position:relative;min-height:35px}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message.chat-message-user{min-height:25px}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message.chat-message-user .chat-text-wrapper{margin-left:60px}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message.chat-message-user .chat-text-wrapper .chat-text{background:#E74C3C;color:#fff;float:right}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message .chat-user-profile{height:34px;width:34px;position:absolute;left:5px;display:block}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message .chat-user-profile img{height:34px;width:34px;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message .chat-text-wrapper{display:block;margin-left:45px;float:left;max-width:175px;width:100%}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message .chat-text-wrapper .chat-text{display:block;width:auto;max-width:175px;background:#fff;float:left;margin-left:6px;border:1px solid rgba(0,0,0,.18);border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;color:#3e454c;min-height:14px;padding:4px 6px 3px 5px;position:relative;text-align:left;word-break:break-word}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message .chat-text-wrapper .chat-text:after{content:'';position:absolute;width:8px;height:13px;top:5px;right:100%;background:url(/img/chat-arrow.png) no-repeat #fff;background-size:auto}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message .chat-text-wrapper .chat-text .chat-text-inner{text-align:left;font-size:12px;min-height:16px;line-height:1.28em}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message .chat-text-wrapper .chat-text.chat-text-user:after{content:'';position:absolute;width:8px;height:13px;top:5px;left:100%;background:url(/img/chat-arrow.png) 0 -13px no-repeat #E74C3C}.circle-chart-wrapper{margin-bottom:15px}.circle-chart-caption{width:100%;text-align:center;margin-bottom:25px}.circle-chart-caption span{display:inline-block;width:100%;font-family:Roboto,"Open Sans",sans-serif;font-size:14px;font-weight:500}.circle-chart-caption span img{display:inline-block;margin-left:7px;margin-right:7px;position:relative;top:-1px}#ticketLines .flot-x-axis{top:10px!important}#ticketLines .flot-y-axis div:first-child{display:none;visibility:hidden}.chart-caption h4{font-weight:400;display:block;font-size:16px;text-align:center;color:#3e5871;font-family:Roboto,"Open Sans",sans-serif;margin:0}.donutchart .chart-value,.donutchart-caption{font-family:"Roboto Condensed",sans-serif;font-weight:700;color:#444}.donutchart-wrapper{position:relative;width:33.333333%;text-align:center;float:left;margin-bottom:30px}.donutchart{position:relative;display:inline-block;height:150px;width:150px;text-align:center;margin:0 auto}.donutchart canvas{position:absolute;top:0;left:0}.donutchart .chart-value{position:relative;display:inline-block;line-height:125px;z-index:2;font-size:48px;text-align:center}.donutchart .chart-value.percent{padding-right:22px}.donutchart .chart-value.percent:after{content:'%';position:absolute;right:0;top:38px;margin-left:.1em;font-size:30px;line-height:normal}.donutchart-caption{position:absolute;top:85px;left:0;width:100%;font-size:22px;text-align:center!important;font-variant:small-caps}.bar-chart-wrapper{position:relative;padding-bottom:10px;width:100%;margin:0 auto}.bar-chart-wrapper .bar-chart{position:relative;width:350px;margin:0 auto 40px;text-align:center}.bar-chart-wrapper .bar-chart .bar{position:relative;display:inline-block;float:left;width:15px;height:170px;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;background:#e3e5e8;margin-right:10px}.bar-chart-wrapper .bar-chart .bar .bar-track{position:absolute;bottom:0;left:0;content:'';display:block;height:100px;width:100%;background:#E74C3C;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px}.bar-chart-wrapper .bar-axis ul.x-axis li,.bar-chart-wrapper .bar-axis ul.y-axis li,.bar-chart-wrapper .bar-chart .bar .bar-label{color:#444;font-weight:700;text-align:center;width:15px;font-variant:small-caps;font-family:Roboto,"Open Sans",sans-serif;font-size:14px}.bar-chart-wrapper .bar-chart .bar .bar-track:hover{background:#c43627}.bar-chart-wrapper .bar-chart .bar .bar-label{position:absolute;bottom:-20px;left:0}.bar-chart-wrapper .bar-axis ul.x-axis,.bar-chart-wrapper .bar-axis ul.y-axis{margin:0;padding:0;position:absolute;bottom:0;left:40px;list-style:none}.bar-chart-wrapper .bar-axis ul.x-axis li,.bar-chart-wrapper .bar-axis ul.y-axis li{margin-right:6px}.bar-chart-wrapper .bar-axis ul.y-axis{left:-35px;bottom:0;height:170px}.bar-chart-wrapper .bar-axis ul.y-axis li{position:relative;text-align:right;width:auto;margin:0 0 17px;font-family:Roboto,"Open Sans",sans-serif}#flotTip,.bar-chart-caption span{text-align:center;font-weight:500}.bar-chart-caption span{display:inline-block;width:100%;font-family:Roboto,"Open Sans",sans-serif;font-size:14px}#flotTip{width:150px;min-height:45px;background:#223140!important;padding:7px 0;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;box-shadow:1px 1px 1px rgba(0,0,0,.3);-webkit-box-shadow:1px 1px 1px rgba(0,0,0,.3);-moz-box-shadow:1px 1px 1px rgba(0,0,0,.3);color:#fff;font-family:"source sans pro",sans-serif;font-size:12px}#flotTip:after,#flotTip:before{position:absolute;top:100%;left:50%;border:solid transparent;content:" ";height:0;width:0;pointer-events:none;border-color:rgba(34,49,64,0);border-top-color:#223140}#flotTip:before{border-width:11px;margin-left:-11px}#flotTip:after{border-width:5px;margin-left:-5px}#flotTip span{display:block;font-family:"Source Sans Pro",sans-serif;font-weight:400;font-size:12px!important;color:#fff;margin-bottom:5px}#flotTip span:last-child,.fc .fc-toolbar,.fc .fc-widget-header table{margin-bottom:0}#flotTip span:first-child{font-weight:600}#flotTip span span{display:inline!important}.fc{font-family:"open sans",sans-serif;padding:0 15px 0 30px}.fc .fc-toolbar h2{display:inline-block;font-size:24px;height:65px;line-height:65px;color:#344b61}.fc .fc-toolbar button{display:block;font-family:"Source Sans Pro",sans-serif;font-weight:600;font-size:14px;margin:18px 5px 0 0;padding:4px 16px;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;background:#E74C3C;border-color:rgba(0,0,0,.1);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);outline:0}.fc .fc-toolbar button:hover{background:#ea6153;color:#fff}.fc table{background:#e5e8f0}.fc .fc-content-skeleton table{background:0 0}.fc.fc-unthemed .fc-popover,.fc.fc-unthemed .fc-row,.fc.fc-unthemed hr,.fc.fc-unthemed tbody,.fc.fc-unthemed td,.fc.fc-unthemed th,.fc.fc-unthemed thead{border-color:#b5bbc9}.fc.fc-unthemed thead{background:#c4c9d4}.fc.fc-unthemed .fc-bg .fc-today{background:#fff}.fc .fc-event,.fc .fc-event .fc-content{background:#E74C3C}.fc .fc-event{border-color:#e43725}.search-container{max-height:300px;height:auto;width:100%;vertical-align:middle;white-space:nowrap}.search-container .chosen-container,.search-container input[type=text],.search-container select{width:100%;float:left;padding-right:49px}.search-container input[type=text][disabled]{background:#eceff6}.search-container .chosen-container .chosen-choices{border:1px solid #9aa1ad;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0}.search-container .chosen-container-multi .chosen-choices li.search-choice{padding:0 25px 0 7px;background:#a7b5d5}.search-container .chosen-container-multi .chosen-choices li.search-choice span{color:#fff;line-height:27px}.search-container .chosen-container .chosen-results li.highlighted{background:#b8c3dd;color:#55616e}.search-container button{padding:5px 10px;height:36px;width:50px;margin-left:-50px;background:#d0d8e9;border:1px solid #9aa1ad;border-left:none;border-radius:0 3px 3px 0;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;z-index:999;cursor:pointer;position:relative}.search-container button i{color:#55616e}.chosen-container .chosen-drop{box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.chosen-container .chosen-results li.highlighted{background:#ea6153}.chosen-container-single .chosen-single{background:#f3f5f9;border:1px solid #bec4d0;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;font-size:12px}.chosen-container-single .chosen-drop{background:#e2e7f1;border-color:#bec4d0;border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;font-size:12px}.chosen-container-single .chosen-drop .chosen-results li{line-height:normal;font-size:12px;padding:3px 4px}.chosen-container-active.chosen-with-drop .chosen-single{border:1px solid #bec4d0;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none;background-image:none}.chosen-container-multi{width:100%!important}.chosen-container-multi .chosen-choices{border:1px solid #9aa1ad;background:#eceff6;min-height:2.3125rem!important}.chosen-container-multi .chosen-choices li.search-choice{background:#ea6153;border:none;color:#fff;font-size:13px;padding:3px 25px 3px 10px;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.chosen-container-multi .chosen-choices li.search-choice span{color:#fff}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{top:9px;right:5px}.chosen-container-multi .chosen-choices li.search-field input[type=text]{height:32px;margin-left:2px}#gMembers_chosen li.search-choice,#gSendMailTo_chosen li.search-choice{padding:8px 25px 8px 8px}.chosen-container-active .chosen-choices{border:1px solid #9aa1ad;background:#fff;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.onoffswitch{position:relative;width:85px!important;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.onoffswitch.subscribeSwitch{width:100px!important}.onoffswitch-checkbox{display:none}.onoffswitch-label{display:block!important;margin:auto!important;overflow:hidden;cursor:pointer;border:1px solid #dae0ec;border-radius:5px;width:100%!important}.onoffswitch-inner{display:block;width:200%;margin-left:-100%;transition:margin .3s ease-in 0s}.onoffswitch-inner:after,.onoffswitch-inner:before{display:block;float:left;width:50%;height:28px;padding:0;line-height:28px;font-size:11px;font-family:Trebuchet,Arial,sans-serif;font-weight:700;box-sizing:border-box}.onoffswitch-inner:before{content:"Refresh";padding-left:7px;background-color:#E74C3C;color:#FFF}.subscribeSwitch-inner:before{content:"Subscribe";background-color:#29b955}.onSwitch-inner:before{content:"On";background-color:#29b955}.onoffswitch-inner:after{content:"OFF";padding-right:7px;background-color:#f5f5f5;color:#999;text-align:right}.onoffswitch-switch{display:block;width:28px;margin:0;background:#fff;position:absolute;top:0;bottom:0;right:57px;border:1px solid #dae0ec;border-radius:5px;transition:all .3s ease-in 0s}.onoffswitch-switch.subscribeSwitch-switch{right:72px}.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-inner{margin-left:0}.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-switch{right:-2px}.mGraph .mg-histogram .axis text,.mGraph .mg-x-axis text,.mGraph .mg-y-axis text{font-size:11px}.mGraph .mg-active-datapoint{font-size:13px}.mGraph-panel{padding-bottom:20px}.mGraph .mg-line1-color{stroke:#29b955}.mGraph .mg-area1-color{fill:#2ece5f}.mGraph.graph-blue .mg-line1-color{stroke:#1976d2}.mGraph.graph-blue .mg-area1-color{fill:#378fe7}.materialize-red.lighten-5{background-color:#fdeaeb!important}.materialize-red-text.text-lighten-5{color:#fdeaeb!important}.materialize-red.lighten-4{background-color:#f8c1c3!important}.materialize-red-text.text-lighten-4{color:#f8c1c3!important}.materialize-red.lighten-3{background-color:#f3989b!important}.materialize-red-text.text-lighten-3{color:#f3989b!important}.materialize-red.lighten-2{background-color:#ee6e73!important}.materialize-red-text.text-lighten-2{color:#ee6e73!important}.materialize-red.lighten-1{background-color:#ea454b!important}.materialize-red-text.text-lighten-1{color:#ea454b!important}.materialize-red{background-color:#e51c23!important}.materialize-red-text{color:#e51c23!important}.materialize-red.darken-1{background-color:#d0181e!important}.materialize-red-text.text-darken-1{color:#d0181e!important}.materialize-red.darken-2{background-color:#b9151b!important}.materialize-red-text.text-darken-2{color:#b9151b!important}.materialize-red.darken-3{background-color:#a21318!important}.materialize-red-text.text-darken-3{color:#a21318!important}.materialize-red.darken-4{background-color:#8b1014!important}.materialize-red-text.text-darken-4{color:#8b1014!important}.red.lighten-5{background-color:#FFEBEE!important}.red-text.text-lighten-5{color:#FFEBEE!important}.red.lighten-4{background-color:#FFCDD2!important}.red-text.text-lighten-4{color:#FFCDD2!important}.red.lighten-3{background-color:#EF9A9A!important}.red-text.text-lighten-3{color:#EF9A9A!important}.red.lighten-2{background-color:#E57373!important}.red-text.text-lighten-2{color:#E57373!important}.red.lighten-1{background-color:#EF5350!important}.red-text.text-lighten-1{color:#EF5350!important}.red{background-color:#F44336!important}.red-text{color:#F44336!important}.red.darken-1{background-color:#E53935!important}.red-text.text-darken-1{color:#E53935!important}.red.darken-2{background-color:#D32F2F!important}.red-text.text-darken-2{color:#D32F2F!important}.red.darken-3{background-color:#C62828!important}.red-text.text-darken-3{color:#C62828!important}.red.darken-4{background-color:#B71C1C!important}.red-text.text-darken-4{color:#B71C1C!important}.red.accent-1{background-color:#FF8A80!important}.red-text.text-accent-1{color:#FF8A80!important}.red.accent-2{background-color:#FF5252!important}.red-text.text-accent-2{color:#FF5252!important}.red.accent-3{background-color:#FF1744!important}.red-text.text-accent-3{color:#FF1744!important}.red.accent-4{background-color:#D50000!important}.red-text.text-accent-4{color:#D50000!important}.pink.lighten-5{background-color:#fce4ec!important}.pink-text.text-lighten-5{color:#fce4ec!important}.pink.lighten-4{background-color:#f8bbd0!important}.pink-text.text-lighten-4{color:#f8bbd0!important}.pink.lighten-3{background-color:#f48fb1!important}.pink-text.text-lighten-3{color:#f48fb1!important}.pink.lighten-2{background-color:#f06292!important}.pink-text.text-lighten-2{color:#f06292!important}.pink.lighten-1{background-color:#ec407a!important}.pink-text.text-lighten-1{color:#ec407a!important}.pink{background-color:#e91e63!important}.pink-text{color:#e91e63!important}.pink.darken-1{background-color:#d81b60!important}.pink-text.text-darken-1{color:#d81b60!important}.pink.darken-2{background-color:#c2185b!important}.pink-text.text-darken-2{color:#c2185b!important}.pink.darken-3{background-color:#ad1457!important}.pink-text.text-darken-3{color:#ad1457!important}.pink.darken-4{background-color:#880e4f!important}.pink-text.text-darken-4{color:#880e4f!important}.pink.accent-1{background-color:#ff80ab!important}.pink-text.text-accent-1{color:#ff80ab!important}.pink.accent-2{background-color:#ff4081!important}.pink-text.text-accent-2{color:#ff4081!important}.pink.accent-3{background-color:#f50057!important}.pink-text.text-accent-3{color:#f50057!important}.pink.accent-4{background-color:#c51162!important}.pink-text.text-accent-4{color:#c51162!important}.purple.lighten-5{background-color:#f3e5f5!important}.purple-text.text-lighten-5{color:#f3e5f5!important}.purple.lighten-4{background-color:#e1bee7!important}.purple-text.text-lighten-4{color:#e1bee7!important}.purple.lighten-3{background-color:#ce93d8!important}.purple-text.text-lighten-3{color:#ce93d8!important}.purple.lighten-2{background-color:#ba68c8!important}.purple-text.text-lighten-2{color:#ba68c8!important}.purple.lighten-1{background-color:#ab47bc!important}.purple-text.text-lighten-1{color:#ab47bc!important}.purple{background-color:#9c27b0!important}.purple-text{color:#9c27b0!important}.purple.darken-1{background-color:#8e24aa!important}.purple-text.text-darken-1{color:#8e24aa!important}.purple.darken-2{background-color:#7b1fa2!important}.purple-text.text-darken-2{color:#7b1fa2!important}.purple.darken-3{background-color:#6a1b9a!important}.purple-text.text-darken-3{color:#6a1b9a!important}.purple.darken-4{background-color:#4a148c!important}.purple-text.text-darken-4{color:#4a148c!important}.purple.accent-1{background-color:#ea80fc!important}.purple-text.text-accent-1{color:#ea80fc!important}.purple.accent-2{background-color:#e040fb!important}.purple-text.text-accent-2{color:#e040fb!important}.purple.accent-3{background-color:#d500f9!important}.purple-text.text-accent-3{color:#d500f9!important}.purple.accent-4{background-color:#a0f!important}.purple-text.text-accent-4{color:#a0f!important}.deep-purple.lighten-5{background-color:#ede7f6!important}.deep-purple-text.text-lighten-5{color:#ede7f6!important}.deep-purple.lighten-4{background-color:#d1c4e9!important}.deep-purple-text.text-lighten-4{color:#d1c4e9!important}.deep-purple.lighten-3{background-color:#b39ddb!important}.deep-purple-text.text-lighten-3{color:#b39ddb!important}.deep-purple.lighten-2{background-color:#9575cd!important}.deep-purple-text.text-lighten-2{color:#9575cd!important}.deep-purple.lighten-1{background-color:#7e57c2!important}.deep-purple-text.text-lighten-1{color:#7e57c2!important}.deep-purple{background-color:#673ab7!important}.deep-purple-text{color:#673ab7!important}.deep-purple.darken-1{background-color:#5e35b1!important}.deep-purple-text.text-darken-1{color:#5e35b1!important}.deep-purple.darken-2{background-color:#512da8!important}.deep-purple-text.text-darken-2{color:#512da8!important}.deep-purple.darken-3{background-color:#4527a0!important}.deep-purple-text.text-darken-3{color:#4527a0!important}.deep-purple.darken-4{background-color:#311b92!important}.deep-purple-text.text-darken-4{color:#311b92!important}.deep-purple.accent-1{background-color:#b388ff!important}.deep-purple-text.text-accent-1{color:#b388ff!important}.deep-purple.accent-2{background-color:#7c4dff!important}.deep-purple-text.text-accent-2{color:#7c4dff!important}.deep-purple.accent-3{background-color:#651fff!important}.deep-purple-text.text-accent-3{color:#651fff!important}.deep-purple.accent-4{background-color:#6200ea!important}.deep-purple-text.text-accent-4{color:#6200ea!important}.indigo.lighten-5{background-color:#e8eaf6!important}.indigo-text.text-lighten-5{color:#e8eaf6!important}.indigo.lighten-4{background-color:#c5cae9!important}.indigo-text.text-lighten-4{color:#c5cae9!important}.indigo.lighten-3{background-color:#9fa8da!important}.indigo-text.text-lighten-3{color:#9fa8da!important}.indigo.lighten-2{background-color:#7986cb!important}.indigo-text.text-lighten-2{color:#7986cb!important}.indigo.lighten-1{background-color:#5c6bc0!important}.indigo-text.text-lighten-1{color:#5c6bc0!important}.indigo{background-color:#3f51b5!important}.indigo-text{color:#3f51b5!important}.indigo.darken-1{background-color:#3949ab!important}.indigo-text.text-darken-1{color:#3949ab!important}.indigo.darken-2{background-color:#303f9f!important}.indigo-text.text-darken-2{color:#303f9f!important}.indigo.darken-3{background-color:#283593!important}.indigo-text.text-darken-3{color:#283593!important}.indigo.darken-4{background-color:#1a237e!important}.indigo-text.text-darken-4{color:#1a237e!important}.indigo.accent-1{background-color:#8c9eff!important}.indigo-text.text-accent-1{color:#8c9eff!important}.indigo.accent-2{background-color:#536dfe!important}.indigo-text.text-accent-2{color:#536dfe!important}.indigo.accent-3{background-color:#3d5afe!important}.indigo-text.text-accent-3{color:#3d5afe!important}.indigo.accent-4{background-color:#304ffe!important}.indigo-text.text-accent-4{color:#304ffe!important}.blue.lighten-5{background-color:#E3F2FD!important}.blue-text.text-lighten-5{color:#E3F2FD!important}.blue.lighten-4{background-color:#BBDEFB!important}.blue-text.text-lighten-4{color:#BBDEFB!important}.blue.lighten-3{background-color:#90CAF9!important}.blue-text.text-lighten-3{color:#90CAF9!important}.blue.lighten-2{background-color:#64B5F6!important}.blue-text.text-lighten-2{color:#64B5F6!important}.blue.lighten-1{background-color:#42A5F5!important}.blue-text.text-lighten-1{color:#42A5F5!important}.blue{background-color:#2196F3!important}.blue-text{color:#2196F3!important}.blue.darken-1{background-color:#1E88E5!important}.blue-text.text-darken-1{color:#1E88E5!important}.blue.darken-2{background-color:#1976D2!important}.blue-text.text-darken-2{color:#1976D2!important}.blue.darken-3{background-color:#1565C0!important}.blue-text.text-darken-3{color:#1565C0!important}.blue.darken-4{background-color:#0D47A1!important}.blue-text.text-darken-4{color:#0D47A1!important}.blue.accent-1{background-color:#82B1FF!important}.blue-text.text-accent-1{color:#82B1FF!important}.blue.accent-2{background-color:#448AFF!important}.blue-text.text-accent-2{color:#448AFF!important}.blue.accent-3{background-color:#2979FF!important}.blue-text.text-accent-3{color:#2979FF!important}.blue.accent-4{background-color:#2962FF!important}.blue-text.text-accent-4{color:#2962FF!important}.light-blue.lighten-5{background-color:#e1f5fe!important}.light-blue-text.text-lighten-5{color:#e1f5fe!important}.light-blue.lighten-4{background-color:#b3e5fc!important}.light-blue-text.text-lighten-4{color:#b3e5fc!important}.light-blue.lighten-3{background-color:#81d4fa!important}.light-blue-text.text-lighten-3{color:#81d4fa!important}.light-blue.lighten-2{background-color:#4fc3f7!important}.light-blue-text.text-lighten-2{color:#4fc3f7!important}.light-blue.lighten-1{background-color:#29b6f6!important}.light-blue-text.text-lighten-1{color:#29b6f6!important}.light-blue{background-color:#03a9f4!important}.light-blue-text{color:#03a9f4!important}.light-blue.darken-1{background-color:#039be5!important}.light-blue-text.text-darken-1{color:#039be5!important}.light-blue.darken-2{background-color:#0288d1!important}.light-blue-text.text-darken-2{color:#0288d1!important}.light-blue.darken-3{background-color:#0277bd!important}.light-blue-text.text-darken-3{color:#0277bd!important}.light-blue.darken-4{background-color:#01579b!important}.light-blue-text.text-darken-4{color:#01579b!important}.light-blue.accent-1{background-color:#80d8ff!important}.light-blue-text.text-accent-1{color:#80d8ff!important}.light-blue.accent-2{background-color:#40c4ff!important}.light-blue-text.text-accent-2{color:#40c4ff!important}.light-blue.accent-3{background-color:#00b0ff!important}.light-blue-text.text-accent-3{color:#00b0ff!important}.light-blue.accent-4{background-color:#0091ea!important}.light-blue-text.text-accent-4{color:#0091ea!important}.cyan.lighten-5{background-color:#e0f7fa!important}.cyan-text.text-lighten-5{color:#e0f7fa!important}.cyan.lighten-4{background-color:#b2ebf2!important}.cyan-text.text-lighten-4{color:#b2ebf2!important}.cyan.lighten-3{background-color:#80deea!important}.cyan-text.text-lighten-3{color:#80deea!important}.cyan.lighten-2{background-color:#4dd0e1!important}.cyan-text.text-lighten-2{color:#4dd0e1!important}.cyan.lighten-1{background-color:#26c6da!important}.cyan-text.text-lighten-1{color:#26c6da!important}.cyan{background-color:#00bcd4!important}.cyan-text{color:#00bcd4!important}.cyan.darken-1{background-color:#00acc1!important}.cyan-text.text-darken-1{color:#00acc1!important}.cyan.darken-2{background-color:#0097a7!important}.cyan-text.text-darken-2{color:#0097a7!important}.cyan.darken-3{background-color:#00838f!important}.cyan-text.text-darken-3{color:#00838f!important}.cyan.darken-4{background-color:#006064!important}.cyan-text.text-darken-4{color:#006064!important}.cyan.accent-1{background-color:#84ffff!important}.cyan-text.text-accent-1{color:#84ffff!important}.cyan.accent-2{background-color:#18ffff!important}.cyan-text.text-accent-2{color:#18ffff!important}.cyan.accent-3{background-color:#00e5ff!important}.cyan-text.text-accent-3{color:#00e5ff!important}.cyan.accent-4{background-color:#00b8d4!important}.cyan-text.text-accent-4{color:#00b8d4!important}.teal.lighten-5{background-color:#e0f2f1!important}.teal-text.text-lighten-5{color:#e0f2f1!important}.teal.lighten-4{background-color:#b2dfdb!important}.teal-text.text-lighten-4{color:#b2dfdb!important}.teal.lighten-3{background-color:#80cbc4!important}.teal-text.text-lighten-3{color:#80cbc4!important}.teal.lighten-2{background-color:#4db6ac!important}.teal-text.text-lighten-2{color:#4db6ac!important}.teal.lighten-1{background-color:#26a69a!important}.teal-text.text-lighten-1{color:#26a69a!important}.teal{background-color:#009688!important}.teal-text{color:#009688!important}.teal.darken-1{background-color:#00897b!important}.teal-text.text-darken-1{color:#00897b!important}.teal.darken-2{background-color:#00796b!important}.teal-text.text-darken-2{color:#00796b!important}.teal.darken-3{background-color:#00695c!important}.teal-text.text-darken-3{color:#00695c!important}.teal.darken-4{background-color:#004d40!important}.teal-text.text-darken-4{color:#004d40!important}.teal.accent-1{background-color:#a7ffeb!important}.teal-text.text-accent-1{color:#a7ffeb!important}.teal.accent-2{background-color:#64ffda!important}.teal-text.text-accent-2{color:#64ffda!important}.teal.accent-3{background-color:#1de9b6!important}.teal-text.text-accent-3{color:#1de9b6!important}.teal.accent-4{background-color:#00bfa5!important}.teal-text.text-accent-4{color:#00bfa5!important}.green.lighten-5{background-color:#E8F5E9!important}.green-text.text-lighten-5{color:#E8F5E9!important}.green.lighten-4{background-color:#C8E6C9!important}.green-text.text-lighten-4{color:#C8E6C9!important}.green.lighten-3{background-color:#A5D6A7!important}.green-text.text-lighten-3{color:#A5D6A7!important}.green.lighten-2{background-color:#81C784!important}.green-text.text-lighten-2{color:#81C784!important}.green.lighten-1{background-color:#66BB6A!important}.green-text.text-lighten-1{color:#66BB6A!important}.green{background-color:#4CAF50!important}.green-text{color:#4CAF50!important}.green.darken-1{background-color:#43A047!important}.green-text.text-darken-1{color:#43A047!important}.green.darken-2{background-color:#388E3C!important}.green-text.text-darken-2{color:#388E3C!important}.green.darken-3{background-color:#2E7D32!important}.green-text.text-darken-3{color:#2E7D32!important}.green.darken-4{background-color:#1B5E20!important}.green-text.text-darken-4{color:#1B5E20!important}.green.accent-1{background-color:#B9F6CA!important}.green-text.text-accent-1{color:#B9F6CA!important}.green.accent-2{background-color:#69F0AE!important}.green-text.text-accent-2{color:#69F0AE!important}.green.accent-3{background-color:#00E676!important}.green-text.text-accent-3{color:#00E676!important}.green.accent-4{background-color:#00C853!important}.green-text.text-accent-4{color:#00C853!important}.light-green.lighten-5{background-color:#f1f8e9!important}.light-green-text.text-lighten-5{color:#f1f8e9!important}.light-green.lighten-4{background-color:#dcedc8!important}.light-green-text.text-lighten-4{color:#dcedc8!important}.light-green.lighten-3{background-color:#c5e1a5!important}.light-green-text.text-lighten-3{color:#c5e1a5!important}.light-green.lighten-2{background-color:#aed581!important}.light-green-text.text-lighten-2{color:#aed581!important}.light-green.lighten-1{background-color:#9ccc65!important}.light-green-text.text-lighten-1{color:#9ccc65!important}.light-green{background-color:#8bc34a!important}.light-green-text{color:#8bc34a!important}.light-green.darken-1{background-color:#7cb342!important}.light-green-text.text-darken-1{color:#7cb342!important}.light-green.darken-2{background-color:#689f38!important}.light-green-text.text-darken-2{color:#689f38!important}.light-green.darken-3{background-color:#558b2f!important}.light-green-text.text-darken-3{color:#558b2f!important}.light-green.darken-4{background-color:#33691e!important}.light-green-text.text-darken-4{color:#33691e!important}.light-green.accent-1{background-color:#ccff90!important}.light-green-text.text-accent-1{color:#ccff90!important}.light-green.accent-2{background-color:#b2ff59!important}.light-green-text.text-accent-2{color:#b2ff59!important}.light-green.accent-3{background-color:#76ff03!important}.light-green-text.text-accent-3{color:#76ff03!important}.light-green.accent-4{background-color:#64dd17!important}.light-green-text.text-accent-4{color:#64dd17!important}.lime.lighten-5{background-color:#f9fbe7!important}.lime-text.text-lighten-5{color:#f9fbe7!important}.lime.lighten-4{background-color:#f0f4c3!important}.lime-text.text-lighten-4{color:#f0f4c3!important}.lime.lighten-3{background-color:#e6ee9c!important}.lime-text.text-lighten-3{color:#e6ee9c!important}.lime.lighten-2{background-color:#dce775!important}.lime-text.text-lighten-2{color:#dce775!important}.lime.lighten-1{background-color:#d4e157!important}.lime-text.text-lighten-1{color:#d4e157!important}.lime{background-color:#cddc39!important}.lime-text{color:#cddc39!important}.lime.darken-1{background-color:#c0ca33!important}.lime-text.text-darken-1{color:#c0ca33!important}.lime.darken-2{background-color:#afb42b!important}.lime-text.text-darken-2{color:#afb42b!important}.lime.darken-3{background-color:#9e9d24!important}.lime-text.text-darken-3{color:#9e9d24!important}.lime.darken-4{background-color:#827717!important}.lime-text.text-darken-4{color:#827717!important}.lime.accent-1{background-color:#f4ff81!important}.lime-text.text-accent-1{color:#f4ff81!important}.lime.accent-2{background-color:#eeff41!important}.lime-text.text-accent-2{color:#eeff41!important}.lime.accent-3{background-color:#c6ff00!important}.lime-text.text-accent-3{color:#c6ff00!important}.lime.accent-4{background-color:#aeea00!important}.lime-text.text-accent-4{color:#aeea00!important}.yellow.lighten-5{background-color:#fffde7!important}.yellow-text.text-lighten-5{color:#fffde7!important}.yellow.lighten-4{background-color:#fff9c4!important}.yellow-text.text-lighten-4{color:#fff9c4!important}.yellow.lighten-3{background-color:#fff59d!important}.yellow-text.text-lighten-3{color:#fff59d!important}.yellow.lighten-2{background-color:#fff176!important}.yellow-text.text-lighten-2{color:#fff176!important}.yellow.lighten-1{background-color:#ffee58!important}.yellow-text.text-lighten-1{color:#ffee58!important}.yellow{background-color:#ffeb3b!important}.yellow-text{color:#ffeb3b!important}.yellow.darken-1{background-color:#fdd835!important}.yellow-text.text-darken-1{color:#fdd835!important}.yellow.darken-2{background-color:#fbc02d!important}.yellow-text.text-darken-2{color:#fbc02d!important}.yellow.darken-3{background-color:#f9a825!important}.yellow-text.text-darken-3{color:#f9a825!important}.yellow.darken-4{background-color:#f57f17!important}.yellow-text.text-darken-4{color:#f57f17!important}.yellow.accent-1{background-color:#ffff8d!important}.yellow-text.text-accent-1{color:#ffff8d!important}.yellow.accent-2{background-color:#ff0!important}.yellow-text.text-accent-2{color:#ff0!important}.yellow.accent-3{background-color:#ffea00!important}.yellow-text.text-accent-3{color:#ffea00!important}.yellow.accent-4{background-color:#ffd600!important}.yellow-text.text-accent-4{color:#ffd600!important}.amber.lighten-5{background-color:#fff8e1!important}.amber-text.text-lighten-5{color:#fff8e1!important}.amber.lighten-4{background-color:#ffecb3!important}.amber-text.text-lighten-4{color:#ffecb3!important}.amber.lighten-3{background-color:#ffe082!important}.amber-text.text-lighten-3{color:#ffe082!important}.amber.lighten-2{background-color:#ffd54f!important}.amber-text.text-lighten-2{color:#ffd54f!important}.amber.lighten-1{background-color:#ffca28!important}.amber-text.text-lighten-1{color:#ffca28!important}.amber{background-color:#ffc107!important}.amber-text{color:#ffc107!important}.amber.darken-1{background-color:#ffb300!important}.amber-text.text-darken-1{color:#ffb300!important}.amber.darken-2{background-color:#ffa000!important}.amber-text.text-darken-2{color:#ffa000!important}.amber.darken-3{background-color:#ff8f00!important}.amber-text.text-darken-3{color:#ff8f00!important}.amber.darken-4{background-color:#ff6f00!important}.amber-text.text-darken-4{color:#ff6f00!important}.amber.accent-1{background-color:#ffe57f!important}.amber-text.text-accent-1{color:#ffe57f!important}.amber.accent-2{background-color:#ffd740!important}.amber-text.text-accent-2{color:#ffd740!important}.amber.accent-3{background-color:#ffc400!important}.amber-text.text-accent-3{color:#ffc400!important}.amber.accent-4{background-color:#ffab00!important}.amber-text.text-accent-4{color:#ffab00!important}.orange.lighten-5{background-color:#fff3e0!important}.orange-text.text-lighten-5{color:#fff3e0!important}.orange.lighten-4{background-color:#ffe0b2!important}.orange-text.text-lighten-4{color:#ffe0b2!important}.orange.lighten-3{background-color:#ffcc80!important}.orange-text.text-lighten-3{color:#ffcc80!important}.orange.lighten-2{background-color:#ffb74d!important}.orange-text.text-lighten-2{color:#ffb74d!important}.orange.lighten-1{background-color:#ffa726!important}.orange-text.text-lighten-1{color:#ffa726!important}.orange{background-color:#ff9800!important}.orange-text{color:#ff9800!important}.orange.darken-1{background-color:#fb8c00!important}.orange-text.text-darken-1{color:#fb8c00!important}.orange.darken-2{background-color:#f57c00!important}.orange-text.text-darken-2{color:#f57c00!important}.orange.darken-3{background-color:#ef6c00!important}.orange-text.text-darken-3{color:#ef6c00!important}.orange.darken-4{background-color:#e65100!important}.orange-text.text-darken-4{color:#e65100!important}.orange.accent-1{background-color:#ffd180!important}.orange-text.text-accent-1{color:#ffd180!important}.orange.accent-2{background-color:#ffab40!important}.orange-text.text-accent-2{color:#ffab40!important}.orange.accent-3{background-color:#ff9100!important}.orange-text.text-accent-3{color:#ff9100!important}.orange.accent-4{background-color:#ff6d00!important}.orange-text.text-accent-4{color:#ff6d00!important}.deep-orange.lighten-5{background-color:#fbe9e7!important}.deep-orange-text.text-lighten-5{color:#fbe9e7!important}.deep-orange.lighten-4{background-color:#ffccbc!important}.deep-orange-text.text-lighten-4{color:#ffccbc!important}.deep-orange.lighten-3{background-color:#ffab91!important}.deep-orange-text.text-lighten-3{color:#ffab91!important}.deep-orange.lighten-2{background-color:#ff8a65!important}.deep-orange-text.text-lighten-2{color:#ff8a65!important}.deep-orange.lighten-1{background-color:#ff7043!important}.deep-orange-text.text-lighten-1{color:#ff7043!important}.deep-orange{background-color:#ff5722!important}.deep-orange-text{color:#ff5722!important}.deep-orange.darken-1{background-color:#f4511e!important}.deep-orange-text.text-darken-1{color:#f4511e!important}.deep-orange.darken-2{background-color:#e64a19!important}.deep-orange-text.text-darken-2{color:#e64a19!important}.deep-orange.darken-3{background-color:#d84315!important}.deep-orange-text.text-darken-3{color:#d84315!important}.deep-orange.darken-4{background-color:#bf360c!important}.deep-orange-text.text-darken-4{color:#bf360c!important}.deep-orange.accent-1{background-color:#ff9e80!important}.deep-orange-text.text-accent-1{color:#ff9e80!important}.deep-orange.accent-2{background-color:#ff6e40!important}.deep-orange-text.text-accent-2{color:#ff6e40!important}.deep-orange.accent-3{background-color:#ff3d00!important}.deep-orange-text.text-accent-3{color:#ff3d00!important}.deep-orange.accent-4{background-color:#dd2c00!important}.deep-orange-text.text-accent-4{color:#dd2c00!important}.brown.lighten-5{background-color:#efebe9!important}.brown-text.text-lighten-5{color:#efebe9!important}.brown.lighten-4{background-color:#d7ccc8!important}.brown-text.text-lighten-4{color:#d7ccc8!important}.brown.lighten-3{background-color:#bcaaa4!important}.brown-text.text-lighten-3{color:#bcaaa4!important}.brown.lighten-2{background-color:#a1887f!important}.brown-text.text-lighten-2{color:#a1887f!important}.brown.lighten-1{background-color:#8d6e63!important}.brown-text.text-lighten-1{color:#8d6e63!important}.brown{background-color:#795548!important}.brown-text{color:#795548!important}.brown.darken-1{background-color:#6d4c41!important}.brown-text.text-darken-1{color:#6d4c41!important}.brown.darken-2{background-color:#5d4037!important}.brown-text.text-darken-2{color:#5d4037!important}.brown.darken-3{background-color:#4e342e!important}.brown-text.text-darken-3{color:#4e342e!important}.brown.darken-4{background-color:#3e2723!important}.brown-text.text-darken-4{color:#3e2723!important}.blue-grey.lighten-5{background-color:#eceff1!important}.blue-grey-text.text-lighten-5{color:#eceff1!important}.blue-grey.lighten-4{background-color:#cfd8dc!important}.blue-grey-text.text-lighten-4{color:#cfd8dc!important}.blue-grey.lighten-3{background-color:#b0bec5!important}.blue-grey-text.text-lighten-3{color:#b0bec5!important}.blue-grey.lighten-2{background-color:#90a4ae!important}.blue-grey-text.text-lighten-2{color:#90a4ae!important}.blue-grey.lighten-1{background-color:#78909c!important}.blue-grey-text.text-lighten-1{color:#78909c!important}.blue-grey{background-color:#607d8b!important}.blue-grey-text{color:#607d8b!important}.blue-grey.darken-1{background-color:#546e7a!important}.blue-grey-text.text-darken-1{color:#546e7a!important}.blue-grey.darken-2{background-color:#455a64!important}.blue-grey-text.text-darken-2{color:#455a64!important}.blue-grey.darken-3{background-color:#37474f!important}.blue-grey-text.text-darken-3{color:#37474f!important}.blue-grey.darken-4{background-color:#263238!important}.blue-grey-text.text-darken-4{color:#263238!important}.grey.lighten-5{background-color:#fafafa!important}.grey-text.text-lighten-5{color:#fafafa!important}.grey.lighten-4{background-color:#f5f5f5!important}.grey-text.text-lighten-4{color:#f5f5f5!important}.grey.lighten-3{background-color:#eee!important}.grey-text.text-lighten-3{color:#eee!important}.grey.lighten-2{background-color:#e0e0e0!important}.grey-text.text-lighten-2{color:#e0e0e0!important}.grey.lighten-1{background-color:#bdbdbd!important}.grey-text.text-lighten-1{color:#bdbdbd!important}.grey{background-color:#9e9e9e!important}.grey-text{color:#9e9e9e!important}.grey.darken-1{background-color:#757575!important}.grey-text.text-darken-1{color:#757575!important}.grey.darken-2{background-color:#616161!important}.grey-text.text-darken-2{color:#616161!important}.grey.darken-3{background-color:#424242!important}.grey-text.text-darken-3{color:#424242!important}.grey.darken-4{background-color:#212121!important}.grey-text.text-darken-4{color:#212121!important}.shades.black{background-color:#000!important}.shades-text.text-black{color:#000!important}.shades.white{background-color:#FFF!important}.shades-text.text-white{color:#FFF!important}.shades.transparent{background-color:transparent!important}.shades-text.text-transparent{color:transparent!important}.black{background-color:#000!important}.black-text{color:#000!important}.white{background-color:#FFF!important}.white-text{color:#FFF!important}.transparent{background-color:transparent!important}.transparent-text{color:transparent!important}.md-switch,.md-switch *{-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-ms-user-select:none}.md-switch label{cursor:pointer}.md-switch label input[type=checkbox]{opacity:0;width:0;height:0}.md-switch label input[type=checkbox]:checked+.lever{background-color:#ef8b80}.md-switch label input[type=checkbox]:checked+.lever:after{background-color:#E74C3C}.md-switch.md-blue label input[type=checkbox]:checked+.lever{background-color:#6ab8f7}.md-switch.md-blue label input[type=checkbox]:checked+.lever:after{background-color:#2196f3}.md-switch.md-green label input[type=checkbox]:checked+.lever{background-color:#55d97e}.md-switch.md-green label input[type=checkbox]:checked+.lever:after{background-color:#29b955}.md-switch label .lever{content:"";display:inline-block;position:relative;width:40px;height:15px;background-color:#ccc;border-radius:15px;transition:background .3s ease;vertical-align:middle;margin:0 16px}.md-switch label .lever:after{content:"";position:absolute;display:inline-block;width:21px;height:21px;background-color:#fff;border-radius:21px;box-shadow:0 1px 3px 1px rgba(0,0,0,.4);left:-5px;top:-3px;transition:left .3s ease,background .3s ease,box-shadow .1s ease}input[type=checkbox]:checked:not(:disabled)~.lever:active:after{box-shadow:0 1px 3px 1px rgba(0,0,0,.4),0 0 0 15px rgba(255,255,255,.1)}input[type=checkbox]:not(:disabled)~.lever:active:after{box-shadow:0 1px 3px 1px rgba(0,0,0,.4),0 0 0 15px rgba(0,0,0,.08)}.md-switch label input[type=checkbox]:checked+.lever:after{left:24px}.md-switch input[type=checkbox][disabled]+.lever{cursor:default}.md-switch label input[type=checkbox][disabled]+.lever:after,.md-switch label input[type=checkbox][disabled]:checked+.lever:after{background-color:#ccc}.md-btn{background:#fff;border:none;border-radius:2px;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);min-height:31px;min-width:70px;padding:2px 16px;text-align:center;text-transform:uppercase;-webkit-transition:all 280ms cubic-bezier(.4,0,.2,1);transition:all 280ms cubic-bezier(.4,0,.2,1);color:#212121;box-sizing:border-box;cursor:pointer;-webkit-appearance:none;display:inline-block;vertical-align:middle;font:500 14px/31px Roboto,sans-serif!important;margin-bottom:0!important}.md-btn:active,.md-btn:focus,.md-btn:hover,.uk-button-dropdown.uk-open>.md-btn{background:#fff;outline:0;text-decoration:none;color:#212121;box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.md-btn:active,.uk-button-dropdown.uk-open>.md-btn{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.md-btn-flat{box-shadow:none!important;background:0 0}.md-btn-flat:focus,.md-btn-flat:hover{background:rgba(153,153,153,.2)}.md-btn-flat:active{background:rgba(153,153,153,.4)}.md-btn-flat-danger,.md-btn-flat-danger:active,.md-btn-flat-danger:focus,.md-btn-flat-danger:hover{color:#e53935}.md-btn-flat-danger:active,.md-btn-flat-danger:focus,.md-btn-flat-danger:hover{background:#fceaea}.md-btn-flat-primary,.md-btn-flat-primary:active,.md-btn-flat-primary:focus,.md-btn-flat-primary:hover{color:#1976d2}.md-btn-flat-primary:active,.md-btn-flat-primary:focus,.md-btn-flat-primary:hover{background:#e3f2fd}.md-btn-flat-success,.md-btn-flat-success:active,.md-btn-flat-success:focus,.md-btn-flat-success:hover{color:#7cb342}.md-btn-flat-success:active,.md-btn-flat-success:focus,.md-btn-flat-success:hover{background:#e1efd2}.md-btn-flat-warning,.md-btn-flat-warning:active,.md-btn-flat-warning:focus,.md-btn-flat-warning:hover{color:#ffa000}.md-btn-flat-warning:active,.md-btn-flat-warning:focus,.md-btn-flat-warning:hover{background:#ffeccc}.md-btn-flat.disabled{background:0 0!important}.md-btn-danger,.md-btn-danger:active,.md-btn-danger:focus,.md-btn-danger:hover{background:#e53935;color:#fff}.md-btn-primary,.md-btn-primary:active,.md-btn-primary:focus,.md-btn-primary:hover{background:#2196f3;color:#fff}.md-btn-success,.md-btn-success:active,.md-btn-success:focus,.md-btn-success:hover{background:#7cb342;color:#fff}.md-btn-warning,.md-btn-warning:active,.md-btn-warning:focus,.md-btn-warning:hover{background:#ffa000;color:#fff}.md-btn.disabled,.md-btn.disabled:active,.md-btn.disabled:focus,.md-btn.disabled:hover{color:#a8a8a8;background:#eaeaea;box-shadow:none!important;cursor:default;pointer-events:none}.md-btn-small{line-height:27px!important;min-width:14px;font-size:11px!important}.md-btn-large{line-height:42px!important;font-size:16px!important}.md-btn::-moz-focus-inner{border:0;padding:0}.md-btn+.md-btn{margin-left:8px}.md-btn-block{width:100%}.md-btn+.md-btn-group{margin-left:16px}[type=radio]:checked,[type=radio]:not(:checked){position:absolute;left:-9999px;visibility:hidden}[type=radio]:checked+label,[type=radio]:not(:checked)+label{position:relative;padding-left:30px;cursor:pointer;display:inline-block;height:25px;line-height:25px;font-size:1rem;transition:.28s ease;margin-right:8px;margin-left:0;-khtml-user-select:none;user-select:none}[type=radio]+label:after,[type=radio]+label:before{content:'';position:absolute;left:0;top:0;margin:5px;width:16px;height:16px;z-index:0;transition:.28s ease}[type=radio]:not(:checked)+label:before{border-radius:50%;border:2px solid #5a5a5a}[type=radio]:not(:checked)+label:after{border-radius:50%;border:2px solid #5a5a5a;z-index:-1;transform:scale(0)}[type=radio]:checked+label:before{border-radius:50%;border:2px solid transparent}[type=radio]:checked+label:after{border-radius:50%;border:2px solid #1976D2;background-color:#1976D2;z-index:0;transform:scale(1.02)}[type=radio].with-gap:checked+label:before{border-radius:50%;border:2px solid #1976D2}[type=radio].with-gap:checked+label:after{border-radius:50%;border:2px solid #1976D2;background-color:#1976D2;z-index:0;transform:scale(.5)}[type=radio].with-gap:disabled:checked+label:before{border:2px solid rgba(0,0,0,.26)}[type=radio].with-gap:disabled:checked+label:after{border:none;background-color:rgba(0,0,0,.26)}[type=radio]:disabled:checked+label:before,[type=radio]:disabled:not(:checked)+label:before{background-color:transparent;border-color:rgba(0,0,0,.26)}[type=radio]:disabled+label{color:rgba(0,0,0,.26)}[type=radio]:disabled:not(:checked)+label:before{border-color:rgba(0,0,0,.26)}[type=radio]:disabled:checked+label:after{background-color:rgba(0,0,0,.26);border-color:#BDBDBD}.selectize-control.plugin-drag_drop.multi>.selectize-input>div.ui-sortable-placeholder{visibility:visible!important;background:#f2f2f2!important;background:rgba(0,0,0,.06)!important;border:0!important;box-shadow:inset 0 0 12px 4px #fff}.selectize-control.plugin-drag_drop .ui-sortable-placeholder::after{content:'!';visibility:hidden}.selectize-control.plugin-drag_drop .ui-sortable-helper{box-shadow:0 2px 5px rgba(0,0,0,.2)}.selectize-dropdown-header{position:relative;padding:5px 8px;border-bottom:1px solid #d0d0d0;background:#f8f8f8;border-radius:3px 3px 0 0}.selectize-dropdown-header-close{position:absolute;right:8px;top:50%;color:#303030;opacity:.4;margin-top:-12px;line-height:20px;font-size:20px!important}.selectize-control,.selectize-control.plugin-remove_button [data-value]{position:relative}.selectize-dropdown-header-close:hover{color:#000}.selectize-dropdown.plugin-optgroup_columns .optgroup{border-right:1px solid #f2f2f2;border-top:0 none;float:left;box-sizing:border-box}.selectize-dropdown.plugin-optgroup_columns .optgroup:last-child{border-right:0 none}.selectize-dropdown.plugin-optgroup_columns .optgroup:before{display:none}.selectize-dropdown.plugin-optgroup_columns .optgroup-header{border-top:0 none}.selectize-control.plugin-remove_button [data-value] .remove{z-index:1;position:absolute;top:0;right:0;bottom:0;text-align:center;font-weight:700;font-size:12px;color:inherit;text-decoration:none;vertical-align:middle;display:inline-block;border-radius:0 2px 2px 0;box-sizing:border-box}.selectize-dropdown,.selectize-input,.selectize-input input{font-family:Roboto,sans-serif;font-size:13px;-webkit-font-smoothing:inherit}.selectize-control.plugin-remove_button [data-value].active .remove{border-left-color:#cacaca}.selectize-control.plugin-remove_button .disabled [data-value] .remove{border-left-color:#fff}.selectize-control.plugin-remove_button .disabled [data-value] .remove:hover{background:0 0}.selectize-dropdown{line-height:18px}.selectize-input{color:#303030;background:#eef1f7;cursor:text;border:1px solid #d8dde6;display:inline-block;width:100%;overflow:hidden;position:relative;z-index:1;box-sizing:border-box}.selectize-input input{color:#303030;line-height:18px}.selectize-control.single .selectize-input.input-active{background:#f7f8fa;display:inline-block}.selectize-control.multi .selectize-input.has-items{padding:6px 8px 3px}.selectize-input.full{background-color:#f7f8fa}.selectize-input.disabled,.selectize-input.disabled *{cursor:default!important}.selectize-input.dropdown-active{border-radius:3px 3px 0 0}.selectize-input>*{vertical-align:baseline;display:-moz-inline-stack;display:inline-block;zoom:1}.selectize-control.multi .selectize-input>div{cursor:pointer;margin:0 3px 3px 0;background:#e0e0e0;color:#303030;border:0 solid #d0d0d0}.selectize-control.multi .selectize-input>div.active{background:#e8e8e8;color:#303030;border:0 solid #cacaca}.selectize-control.multi .selectize-input.disabled>div,.selectize-control.multi .selectize-input.disabled>div.active{color:#7d7d7d;background:#eef1f7;border:0 solid #eef1f7}.selectize-input>input{display:inline-block!important;padding:0!important;min-height:0!important;max-height:none!important;max-width:100%!important;margin:0 2px 0 0!important;text-indent:0!important;border:0!important;background:0 0!important;line-height:inherit!important;-webkit-user-select:auto!important;box-shadow:none!important}.selectize-input>input::-ms-clear{display:none}.selectize-input>input:focus{outline:0!important}.selectize-input::after{content:' ';display:block;clear:left}.selectize-input.dropdown-active::before{content:' ';display:block;position:absolute;background:#f0f0f0;height:1px;bottom:0;left:0;right:0}.selectize-dropdown{position:absolute;border:1px solid #d8dde6;background:#f7f8fa;margin:-1px 0 0;border-top:0 none;box-sizing:border-box;border-radius:0 0 3px 3px}.selectize-dropdown [data-selectable]{cursor:pointer;overflow:hidden;padding:5px 8px}.selectize-dropdown [data-selectable] .highlight{background:rgba(125,168,208,.2);border-radius:1px}.selectize-input,.selectize-input.focus{border-radius:0;box-shadow:none}.selectize-dropdown .optgroup-header{padding:5px 8px;background:#f7f8fa;cursor:default}.selectize-dropdown .optgroup:first-child .optgroup-header{border-top:0 none}.selectize-dropdown .active{background-color:#f5fafd}.selectize-dropdown .active.create{color:#495c68}.selectize-dropdown .create{color:rgba(48,48,48,.5)}.selectize-white .selectize-input,.selectize-white .selectize-input.input-active{background:#fff!important;border-width:0 0 1px}.selectize-white .selectize-input.input-active{border-color:#E74C3C}.selectize-dropdown.selectize-white{background:#fff!important}.selectize-dropdown-content{overflow-y:auto;overflow-x:hidden;max-height:200px}.selectize-control.single .selectize-input,.selectize-control.single .selectize-input input{cursor:pointer}.selectize-control.single .selectize-input.input-active,.selectize-control.single .selectize-input.input-active input{cursor:text}.selectize-control.single .selectize-input:after{display:block;position:absolute;top:50%;width:0;height:0}.selectize-input.dropdown-active:before,.selectize-input.focus:before,.selectize-input:before{display:none}.selectize-control.single .selectize-input.dropdown-active:after{margin-top:-4px;border-width:0 5px 5px;border-color:transparent transparent grey}.selectize-control.rtl.single .selectize-input:after{left:15px;right:auto}.selectize-control.rtl .selectize-input>input{margin:0 4px 0 -2px!important}.selectize-control.multi .selectize-input .item-icon,.selectize-dropdown.multi .item-icon{margin-right:4px}.selectize-control .selectize-input.disabled{opacity:.5;background-color:#fafafa}.selectize-input{border-color:rgba(0,0,0,.12);line-height:25px;padding:6px 8px}.md-input-danger .selectize-input{border-color:#e53935}.selectize-dropdown{margin-top:-40px;box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);color:#212121;z-index:1210}.selectize-dropdown [data-selectable]{padding-top:11px;padding-bottom:10px;font-size:15px}.selectize-dropdown .active{background:rgba(0,0,0,.085);color:inherit}.selectize-dropdown .optgroup-header{font-size:14px;color:#aaa;padding-top:8px}.selectize-dropdown.selectize_fs{z-index:9999}.selectize-control .selectize-input{min-height:40px}.selectize-control.multi .selectize-input{line-height:21px}.selectize-control.multi .selectize-input>div{border-radius:18px;padding:3px 8px 2px;font-size:14px}.selectize-control.multi .selectize-input .selectize-input.has-items{padding:4px}.selectize-control.multi .selectize-input input{height:26px;font-size:15px}.selectize-control.plugin-remove_button [data-value]{padding-right:32px!important}.selectize-control.plugin-remove_button [data-value] .remove{border:none;width:auto;padding:4px 10px 0 0}.selectize-control.plugin-remove_button [data-value] .remove:hover{background:0 0}.selectize-control.plugin-remove_button [data-value] .remove:after{color:#727272;content:'\e5cd';font-family:"Material Icons";font-size:18px}.selectize-control.single{height:40px;margin-top:0}.selectize-control.single .selectize-input{border-width:0 0 1px;padding:8px 8px 9px}.selectize-control.single .selectize-input:after{border:none!important;content:'\e5c5';font-family:"Material Icons";font-size:28px;margin-top:-12px!important;right:28px;color:rgba(0,0,0,.3)}.selectize-control.single .selectize-input .item,.selectize-control.single .selectize-input input{font-size:15px;font-family:Roboto,sans-serif}.selectize_fix{overflow:hidden;height:0;width:100%}.selectize-control.single .selectize-input>input{height:26px!important}.tru-card{background:#FFF;position:relative;border:none;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.tru-card.tru-card-hover{transition:all 280ms cubic-bezier(.4,0,.2,1)}.tru-card.tru-card-hover:hover{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.tru-card .tru-card-head{height:165px;position:relative;border-bottom:1px solid rgba(0,0,0,.12)}.tru-card .tru-card-head.tru-card-head-admin,.tru-card .tru-card-head.tru-card-head-deleted{background:#3498db}.tru-card .tru-card-head.tru-card-head-admin .tru-card-head-text,.tru-card .tru-card-head.tru-card-head-deleted .tru-card-head-text{color:#fff}.tru-card .tru-card-head.tru-card-head-admin .tru-icon,.tru-card .tru-card-head.tru-card-head-deleted .tru-icon{color:#fff!important}.tru-card .tru-card-head.tru-card-head-deleted{background:#d32f2f!important}.tru-card .tru-card-head-menu{position:absolute;right:8px;top:8px}.tru-card .tru-card-head-avatar{width:82px;height:82px;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%;margin-top:16px;border:2px solid #fff;display:inline-block}.md-fab,.tru-icon{border-radius:50%;cursor:pointer}.tru-card .tru-card-head-text{padding:8px 16px 16px;font:500 16px/22px Roboto,"Open Sans",sans-serif;color:#212121;margin:0;-ms-word-break:break-all;word-break:break-all}.tru-card .tru-card-head-text span{display:block;font:400 12px/18px Roboto,"Open Sans",sans-serif;margin-top:-2px}.tru-card .tru-card-content{padding:16px}.tru-card.tru-card-overlay{overflow:hidden;padding-bottom:50px}.tru-card.tru-card-overlay .tru-card-content{height:165px;overflow:hidden;box-sizing:border-box}.tru-card.tru-card-overlay .tru-card-overlay-content{position:absolute;top:100%;left:0;right:0;padding:0 16px;margin-top:-50px;border-top:1px solid rgba(0,0,0,.12);text-align:left;bottom:0;background:#eef1f7;z-index:10;-webkit-transition:all 280ms cubic-bezier(.4,0,.2,1);transition:all 280ms cubic-bezier(.4,0,.2,1);font:300 14px/1.42857143 Roboto,"Open Sans",sans-serif}.md-fab,.tru-icon{text-align:center}.tru-card.tru-card-overlay .tru-card-overlay-content .tru-card-overlay-header h3,.tru-card.tru-card-overlay .tru-card-overlay-content .tru-card-overlay-header h4{margin:0;text-overflow:ellipsis;display:inline-block;vertical-align:top;white-space:nowrap;overflow:hidden;width:100%;padding-right:40px;box-sizing:border-box}.tru-card.tru-card-overlay .tru-card-overlay-content .tru-card-overlay-header h3{font:300 22px/48px Roboto,"Open Sans",sans-serif}.tru-card.tru-card-overlay .tru-card-overlay-content .tru-card-overlay-header .tru-icon{position:absolute;top:8px;right:8px}.tru-icon{font-size:24px;line-height:32px!important;height:32px!important;width:32px!important;color:#727272;-webkit-border-radius:50%;-moz-border-radius:50%;-webkit-transition:background 280ms ease-out,color 280ms ease-out;transition:background 280ms ease-out,color 280ms ease-out}.tru-icon:focus,.tru-icon:hover{background:rgba(0,0,0,.08);color:#212121}.tru-card.tru-card-overlay-active .tru-card-overlay-content{top:-1px;margin-top:0}.tru-list{margin:0;font-size:12px;padding:0}.tru-list *,.tru-list:after,.tru-list:before{box-sizing:border-box}.tru-list>li{list-style:none}.tru-list .uk-nestable-list>li,.tru-list>li{min-height:48px;padding:8px 4px;box-sizing:border-box;border-bottom:1px solid rgba(0,0,0,.12);position:relative}.tru-list .uk-nestable-list>li:last-child,.tru-list>li:last-child{border-bottom:none}.tru-list .uk-nestable-list>li .tru-list-content,.tru-list>li .tru-list-content{overflow:hidden}.tru-list .uk-nestable-list>li .tru-list-content .tru-list-heading,.tru-list>li .tru-list-content .tru-list-heading{margin:0;font:500 14px/1.42857143 Roboto,"Open Sans",sans-serif;display:block;overflow:hidden;padding-bottom:1px}.tru-list a,.tru-list a:active,.tru-list a:focus{color:#E74C3C}.tru-list a:active:hover,.tru-list a:focus:hover,.tru-list a:hover{color:#ed7669}.epc_chart{display:block;position:relative}.epc_chart .epc_chart_icon{position:absolute;top:0;left:0;right:0;bottom:0;text-align:center;line-height:129px;display:block}.epc_chart .epc_chart_icon i{color:#727272;font-size:48px;vertical-align:middle}.md-fab{box-sizing:border-box;width:64px;height:64px;background:#fff;color:#727272;display:block;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1);transition:box-shadow 280ms cubic-bezier(.4,0,.2,1);border:none;position:relative}.md-fab:active,.md-fab:focus,.md-fab:hover{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.md-fab>i{font-size:36px;line-height:64px;height:inherit;width:inherit;position:absolute;left:0;top:0;color:#727272}.md-fab.md-fab-danger>i,.md-fab.md-fab-primary>i,.md-fab.md-fab-success>i,.md-fab.md-fab-warning>i{color:#fff}.md-fab.md-fab-accent{background:#E74C3C}.md-fab.md-fab-success{background:#29b955}.md-fab.md-fab-danger{background:#d32f2f}.md-fab.md-fab-primary{background:#2196F3}.md-fab.md-fab-warning{background:#ffa000}.md-fab.md-fab-small{width:48px;height:48px;border-radius:50%}.md-fab.md-fab-small>i{line-height:48px;height:inherit;width:inherit;font-size:24px}.md-fab-speed-dial .md-fab-action-close{display:none}.md-fab-wrapper{position:fixed;bottom:24px;right:24px;z-index:1004;-webkit-transition:margin 280ms cubic-bezier(.4,0,.2,1);transition:margin 280ms cubic-bezier(.4,0,.2,1)}.md-fab-wrapper>.md-fab+.md-fab{margin-top:16px}.md-fab-wrapper.md-fab-in-card{position:absolute}@media only screen and (max-width:767px){.md-fab-wrapper{bottom:20px;right:20px}}.md-fab-speed-dial .md-fab-wrapper-small{position:absolute;bottom:80px;right:8px;min-height:48px;width:48px;z-index:-1}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small{-webkit-transform:scale(0);transform:scale(0);opacity:0;position:absolute;right:0}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(1){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) 50ms,opacity .1s cubic-bezier(.4,0,.2,1) 50ms;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 50ms,opacity .1s cubic-bezier(.4,0,.2,1) 50ms}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(2){bottom:64px}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(2){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) .1s,opacity .1s cubic-bezier(.4,0,.2,1) .1s;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .1s,opacity .1s cubic-bezier(.4,0,.2,1) .1s}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(3){bottom:128px}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(3){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) 150ms,opacity .1s cubic-bezier(.4,0,.2,1) 150ms;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 150ms,opacity .1s cubic-bezier(.4,0,.2,1) 150ms}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(4){bottom:192px}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(4){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) .2s,opacity .1s cubic-bezier(.4,0,.2,1) .2s;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .2s,opacity .1s cubic-bezier(.4,0,.2,1) .2s}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(5){bottom:256px}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(5){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) 250ms,opacity .1s cubic-bezier(.4,0,.2,1) 250ms;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 250ms,opacity .1s cubic-bezier(.4,0,.2,1) 250ms}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(6){bottom:320px}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(6){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) .3s,opacity .1s cubic-bezier(.4,0,.2,1) .3s;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .3s,opacity .1s cubic-bezier(.4,0,.2,1) .3s}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(7){bottom:384px}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(7){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) 350ms,opacity .1s cubic-bezier(.4,0,.2,1) 350ms;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 350ms,opacity .1s cubic-bezier(.4,0,.2,1) 350ms}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(8){bottom:448px}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(8){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) .4s,opacity .1s cubic-bezier(.4,0,.2,1) .4s;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .4s,opacity .1s cubic-bezier(.4,0,.2,1) .4s}.md-fab-speed-dial.md-fab-active .md-fab-small{-webkit-transform:scale(1);transform:scale(1);opacity:1;z-index:10}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(1){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) 50ms,opacity .1s cubic-bezier(.4,0,.2,1) 50ms;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 50ms,opacity .1s cubic-bezier(.4,0,.2,1) 50ms}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(2){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) .1s,opacity .1s cubic-bezier(.4,0,.2,1) .1s;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .1s,opacity .1s cubic-bezier(.4,0,.2,1) .1s}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(3){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) 150ms,opacity .1s cubic-bezier(.4,0,.2,1) 150ms;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 150ms,opacity .1s cubic-bezier(.4,0,.2,1) 150ms}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(4){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) .2s,opacity .1s cubic-bezier(.4,0,.2,1) .2s;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .2s,opacity .1s cubic-bezier(.4,0,.2,1) .2s}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(5){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) 250ms,opacity .1s cubic-bezier(.4,0,.2,1) 250ms;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 250ms,opacity .1s cubic-bezier(.4,0,.2,1) 250ms}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(6){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) .3s,opacity .1s cubic-bezier(.4,0,.2,1) .3s;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .3s,opacity .1s cubic-bezier(.4,0,.2,1) .3s}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(7){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) 350ms,opacity .1s cubic-bezier(.4,0,.2,1) 350ms;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 350ms,opacity .1s cubic-bezier(.4,0,.2,1) 350ms}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(8){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) .4s,opacity .1s cubic-bezier(.4,0,.2,1) .4s;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .4s,opacity .1s cubic-bezier(.4,0,.2,1) .4s}.md-fab-toolbar{-webkit-transition:all 280ms cubic-bezier(.4,0,.2,1);transition:all 280ms cubic-bezier(.4,0,.2,1);cursor:default}.md-fab-toolbar>i{cursor:pointer}.md-fab-toolbar-actions{visibility:hidden;white-space:nowrap;padding:0 10px;overflow:hidden;box-sizing:border-box}.md-fab-toolbar-actions a,.md-fab-toolbar-actions button{display:block;float:left;opacity:0;margin:0 0 0 16px;height:64px;width:48px;box-sizing:border-box;-webkit-transition:opacity 280ms cubic-bezier(.4,0,.2,1);transition:opacity 280ms cubic-bezier(.4,0,.2,1);background:0 0;border:none;outline:0;cursor:pointer}.md-fab-sheet.md-fab-animated,.md-fab-toolbar.md-fab-animated{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);border-radius:4px}.md-fab-toolbar-actions a a:first-child,.md-fab-toolbar-actions a button:first-child,.md-fab-toolbar-actions button a:first-child,.md-fab-toolbar-actions button button:first-child{margin-left:0}.md-fab-toolbar-actions .material-icons{font-size:36px;line-height:64px}.md-fab-toolbar.md-fab-animated>i{display:none}.md-fab-toolbar.md-fab-active .md-fab-toolbar-actions{visibility:visible}.md-fab-toolbar.md-fab-active .md-fab-toolbar-actions a,.md-fab-toolbar.md-fab-active .md-fab-toolbar-actions button{opacity:1}.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions a,.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions button{height:48px;width:36px;padding:0;margin:0 0 0 8px}.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions a a:first-child,.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions a button:first-child,.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions button a:first-child,.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions button button:first-child{margin-left:0}.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions .material-icons{font-size:24px;line-height:48px;height:inherit}.md-fab-sheet{-webkit-transition:all 280ms cubic-bezier(.4,0,.2,1);transition:all 280ms cubic-bezier(.4,0,.2,1);cursor:default}.md-fab-sheet>i,.waves-effect{cursor:pointer}.md-fab-sheet-actions{visibility:hidden;white-space:nowrap;overflow:hidden;box-sizing:border-box;padding:4px 0}.md-fab-sheet-actions>a{display:block;opacity:0;padding:4px 16px;box-sizing:border-box;font:400 16px/32px Roboto,sans-serif;text-align:left;color:#212121}.md-fab-sheet-actions>a:hover{color:#212121}.md-fab-sheet-actions .material-icons{font-size:24px;margin-right:8px;vertical-align:-6px}.md-fab-sheet.md-fab-animated>i{display:none}.md-fab-sheet.md-fab-active .md-fab-sheet-actions{visibility:visible}.md-fab-sheet.md-fab-active .md-fab-sheet-actions>a{opacity:1}.sidebar_secondary_active .md-fab-wrapper{margin-right:264px}@media only screen and (max-width:767px){.sidebar_secondary_active .md-fab-wrapper{margin-right:280px}}/*! +@charset "UTF-8";@import url(http://fonts.googleapis.com/css?family=Open+Sans:400,700,800,300,600);@import url(http://fonts.googleapis.com/css?family=Roboto:400,300,500,700);@import url(http://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700);@import url(https://fonts.googleapis.com/icon?family=Material+Icons);blockquote,dd,div,dl,dt,form,h1,h2,h3,h4,h5,h6,li,ol,p,pre,pre code,td,th,ul{margin:0}pre,pre code{word-wrap:normal}h1,h2,h3,h4,h5,h6,p{text-rendering:optimizeLegibility}.md-switch,.md-switch *,.onoffswitch{-webkit-user-select:none;-ms-user-select:none}.md-btn,.message-textbox a,.message-textbox button,.online-list-sidebar h5,table.dataTable thead{text-transform:uppercase}.action-link i,.tru-icon,.waves-effect{-webkit-tap-highlight-color:transparent}.fc .fc-toolbar button,.md-btn,.uk-badge,.uk-button{text-shadow:none}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body,html{background:#f7f8fa;overflow:hidden;font-family:Roboto,"Open Sans",sans-serif;height:100%}a{text-decoration:none!important;color:#1e88e5}a:active,a:focus,a:hover{color:#1976d2}pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#F7F7F7;border-radius:3px}pre br{display:none!important}pre code{display:inline;font:12px Consolas,"Liberation Mono",Menlo,Courier,monospace;color:#333;max-width:initial;padding:0;overflow:initial;line-height:inherit;background-color:transparent;border:0;white-space:pre;border-radius:3px}h6,p{font-size:1rem;line-height:1.6}label,p{font-weight:400}.left,.right{max-width:100%}h1,h2,h3,h4,h5,h6{font-weight:400;font-style:normal;margin-top:.2rem;margin-bottom:.5rem}p{font-family:Roboto,"Open Sans",sans-serif;margin-bottom:1.25rem;color:#3c3c3c}hr{border:none;height:1px;background:#ddd;width:100%}img{display:inline-block;vertical-align:middle}label{font-size:.875rem;color:#4d4d4d;cursor:pointer;display:block;line-height:1.5;margin-bottom:0}table tr td,table tr th{padding:.5625rem .625rem;text-align:left}.padding-left-right-15,.padding-right-15{padding-right:15px!important}table tbody tr td,table tbody tr th,table tfoot tr td,table tfoot tr th,table thead tr th,table tr td{display:table-cell;line-height:1.125rem}input[type=checkbox]+label,input[type=radio]+label{margin-left:.5rem;margin-right:1rem;margin-bottom:0;vertical-align:baseline}input[type=checkbox],input[type=radio],input[type=file],select{margin:0 0 1rem}.accent-text{color:#E74C3C!important}.right{float:right}.left{float:left}.noborder{border:none!important}.no-border-top{border-top:0!important}.nomargin{margin:0!important}.nomargin-left-right{margin-left:0!important;margin-right:0!important}.nomargin-top{margin-top:0!important}.marginright20{margin-right:20px!important}.marginright30{margin-right:30px!important}.marginleft5{margin-left:5px!important}.marginright5{margin-right:5px!important}.padding-left-right-15{padding-left:15px!important}.padding-10{padding:10px!important}.padtop20{padding-top:20px!important}.padright20{padding-right:20px!important}.padleft30{padding-left:30px!important}.nopadding,.vishide{padding:0!important}.nopadding-right{padding-right:0!important}.nopadding-left{padding-left:0!important}.nopadding-top{padding-top:0!important}.nopadding-bottom{padding-bottom:0!important}.noshadow{box-shadow:none!important}.no-overflow-x{overflow-x:hidden!important}.relative{position:relative!important}.hide{display:none!important}.vishide{visibility:hidden!important;opacity:0!important;height:0!important;width:0!important;font-size:0!important;border:0!important;margin:0!important}.round{border-radius:50%!important}.font-weight-300{font-weight:300!important}.cursor-pointer{cursor:default!important}.cursor-pointer:hover{cursor:pointer!important}.btn-success{background:#29b955!important;color:#fff!important}.btn-success:hover{background:#40d56e!important}.button-group>li{float:left;margin:0}a.blackLink{color:#000!important}a.hoverUnderline:hover{text-decoration:underline!important}.profilePic{width:50px;height:50px;border:none}.page-content-left,.page-title-border-right{border-right:1px solid #dadada}.profilePic img{height:50px;width:50px;border-radius:50%}.page-title,.page-title-right{height:70px;background:#f7f8fa;border-top:2px solid #f7f8fa;box-shadow:2px 2px 2px 0 rgba(44,62,80,.1);padding:0 15px 0 35px;font-family:Roboto,sans-serif}.page-content,.page-content-left,.page-content-right{border-top:1px solid #dadada}.page-title p,.page-title-right p{font-size:30px;margin:0;line-height:68px;color:#3c3c3c;font-weight:300}.page-title p.left,.page-title-right p.left{line-height:68px}.page-title-right.page-title-small p,.page-title.page-title-small p{font-size:28px}.page-title-shadow{box-shadow:0 3px 6px rgba(0,0,0,.1),0 3px 6px rgba(0,0,0,.15)!important}.f-dropdown,.panel.trupanel{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.page-title-border-bottom{border-bottom:1px solid #dadada}.page-content{background:#f7f8fa}.page-content-right{background:#FFF}.page-content-left{background:#f7f8fa}.fa-large{font-size:24px;line-height:26px}span.user-offline,span.user-online{display:block;height:17px;width:17px;position:absolute;right:2px;bottom:-4px;background:#29b955;line-height:1;border-radius:50%;border:2px solid #fff}span.user-offline{background:#9e9e9e}span.user-status-large{height:25px;width:25px;border-width:3px}.button:focus,.button:hover,button:focus,button:hover{background-color:#e43725}a.button,button{color:#fff;font-family:"Source Sans Pro",sans-serif;font-weight:600;font-size:14px;padding:4px 16px;border-radius:3px;background:#E74C3C;outline:0}a.button.dropdown,button.dropdown{padding-right:40px}a.button.dropdown:after,button.dropdown:after{width:auto;height:auto;right:12px;top:10px;font-family:FontAwesome;content:"\f078";border:none;font-size:12px}a.button:hover,button:hover{background:#e43725;color:#fff}a.button i,button i{font-weight:400;margin-right:10px;font-size:14px}.f-dropdown{background:#fff;border:#bac6df}.f-dropdown.noarrow:after,.f-dropdown.noarrow:before{border:none}.f-dropdown.xtiny{max-width:150px}.panel hr{margin:0}.panel.trupanel{background:#FFF;border:#d9d9d9;transition:all 280ms ease-in-out;-webkit-transition:all 280ms ease-in-out}.action-link,.action-link:active,.action-link:focus,.action-link:hover,.action-link:visited{background:0 0}.panel.trupanel:hover:not(.no-hover-shadow){box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}#flotTip,div.ptooltip-box{max-width:150px;box-shadow:1px 1px 1px rgba(0,0,0,.3)}.panel .panel-body{padding:15px}.tru-card-content{padding:16px}.tru-card-content h2{font-size:24px;font-weight:500;line-height:30px;color:#444}.action-link{padding:0;border:none;margin:0;border-radius:0}.action-link:last-child{margin-right:10px}.action-link i{color:#727272;padding:6px 0 0;margin:4px 4px 0 0;font-size:22px;cursor:pointer;width:32px!important;height:32px!important;text-align:center;-webkit-transition:background 280ms ease-out,color 280ms ease-out;transition:background 280ms ease-out,color 280ms ease-out;border-radius:50%}.action-link i:hover{background:#d6d8dc}.top-bar-section ul.uk-topbar{display:block;width:100%;margin-right:-5px!important}.top-bar-section ul.uk-topbar li{float:none!important;width:100%!important;background:#f5f5f5!important;line-height:1.4em!important;height:auto!important}.top-bar-section ul.uk-topbar a{display:block;width:100%;background:#f5f5f5!important;line-height:1.4em!important;padding:5px 15px!important;color:#212121!important}.top-bar-section ul.uk-topbar a:hover{background:rgba(0,0,0,.085)!important;color:#212121!important}.disconnected{z-index:10000;border:none;background:rgba(0,0,0,.76);position:absolute;top:0;left:0;width:100%;height:100%;margin:0;padding:0}.disconnected p{color:#fff;font-size:22px;font-weight:300;padding:0;margin:0}.page-center{position:absolute;top:50%;left:50%;text-align:center;transform:translate(-50%,-50%)}.overlay-message,.overlay-message>p{font-family:Roboto,"Open Sans",sans-serif;font-weight:300;font-size:32px;color:#fff}#pieChart g[class$='_arc'] path,#pieChart g[class$='_labels-inner'] text{cursor:pointer}@media only screen and (min-width:40.063em) and (max-width:64em){.page-right-content{padding:0 0 0 55px!important}}#page-content-inner{padding:24px 24px 100px}div.ptooltip-box-wrap{display:none;position:absolute;left:50%;bottom:35px;margin-left:-75px;z-index:99999;opacity:.95}div.ptooltip-box{position:relative;width:150px;min-height:45px;background:#223140;text-align:center;padding:7px 0;border-radius:5px}div.ptooltip-box:after,div.ptooltip-box:before{position:absolute;top:100%;left:50%;border:solid transparent;content:" ";height:0;width:0;pointer-events:none}div.ptooltip-box:before{border-color:rgba(34,49,64,0);border-top-color:#223140;border-width:11px;margin-left:-11px}div.ptooltip-box:after{border-color:rgba(34,49,64,0);border-top-color:#223140;border-width:5px;margin-left:-5px}div.ptooltip-box span{display:block;font-family:"Source Sans Pro",sans-serif;font-weight:400;font-size:12px!important;color:#fff;margin-bottom:5px}.uk-modal span,div.ptooltip-box span:last-child{margin-bottom:0}div.ptooltip-box span:first-child{font-weight:600}div.ptooltip-box span span{display:inline!important}.alert-message{position:absolute;top:50px;left:50%;width:380px;height:55px;background:red;border-radius:5px}.largeProfilePic,.mediumProfilePic{border:2px solid #fff;background:0 0;position:relative;width:256px;height:256px;overflow:hidden}.largeProfilePic img,.mediumProfilePic img{width:256px;height:256px}.mediumProfilePic,.mediumProfilePic img{width:128px;height:128px}.mediumProfilePic{border-radius:50%}.profilePicHover{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);transition:all 280ms cubic-bezier(.4,0,.2,1)}.profilePicHover:hover{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}div.hoverAction{position:absolute;bottom:-256px;left:0;width:100%;height:256px;opacity:.72;background:#000;text-align:center;color:#fff;z-index:300}div.hoverAction span{display:inline-block;padding-top:0;font-weight:300;font-size:20px;line-height:256px}.uk-modal h2,.uk-modal h5{font-family:Roboto,"Open Sans",sans-serif;font-weight:300}.uk-modal .chosen-container-multi .chosen-choices{border:1px solid #dfe4ef;background:#f3f5f9;border-radius:3px}.uk-modal .chosen-container-multi .chosen-drop{background:#fff;border-color:#dfe4ef}.uk-modal span{font-size:.875rem;color:#4d4d4d;font-weight:400;line-height:1.5}.uk-modal button:not(.md-btn),.uk-modal input,.uk-modal textarea{font-size:14px;font-family:Roboto,"Open Sans",sans-serif}.uk-modal span.uk-badge{color:#fff}.uk-modal input,.uk-modal textarea{color:#3d4854;resize:none;background:#f3f5f9;border:1px solid #dfe4ef;border-radius:3px;box-sizing:border-box;box-shadow:none}.uk-modal input:active,.uk-modal input:focus,.uk-modal textarea:active,.uk-modal textarea:focus{background:#fafafa;border-color:#dfe4ef;outline:0;box-shadow:none}.uk-modal button:not(.md-btn){color:#fff;font-weight:300;border-radius:3px}.uk-modal button:not(.md-btn):active,.uk-modal button:not(.md-btn):focus{outline:0}.uk-modal button:not(.md-btn).cancel{background:#cdd5e4;color:#59606d}.uk-modal button:not(.md-btn).cancel:active,.uk-modal button:not(.md-btn).cancel:hover{background:#c3cddf}.uk-modal button:not(.md-btn).red{background:#F95E56;color:#fff!important;font-weight:500}.uk-modal button:not(.md-btn).red:active,.uk-modal button:not(.md-btn).red:hover{background:#f72f25}.breads{padding:10px 15px;background:#fff;border-top:1px solid #dadada}.pagination{margin-right:8px}.pagination .pagination-info{font-family:Roboto,"Open Sans",sans-serif;font-size:13px;font-weight:300;float:left;display:inline-block;margin-right:10px;padding-top:23px}.pagination .button-group{list-style:none;float:left;padding-left:0;margin:0}.pagination .button-group li .btn{max-height:30px;height:30px;margin-right:0;padding:0 16px;background:#FFF;overflow:hidden;border-radius:3px 0 0 3px;color:#595f69;line-height:30px}.pagination .button-group li .btn i{margin-right:0;line-height:30px}.pagination .button-group li .btn i.material-icons{font-size:20px;line-height:30px}.pagination .button-group li .btn span{display:inline-block;margin-top:5px}.pagination .button-group li:last-child .btn{border-radius:0 3px 3px 0}.pagination .button-group li.active .btn{background:#E74C3C}.datepicker td span.active,.datepicker td.active.day,.datepicker td.active.year{background:#ea6153}.context-menu{display:none;z-index:1000;position:absolute;overflow:hidden;border:1px solid #ddd;white-space:nowrap;font-family:sans-serif;background:#FFF;color:#333;border-radius:0;list-style:none;margin:0;padding:0}.context-menu li{padding:8px 12px;cursor:pointer}.context-menu li:hover{background-color:#ddd}.top-bar,.top-bar-section ul li,.top-nav{background:#42464d;height:75px;line-height:75px}.top-bar .title-area .logo,.top-bar .title-area .logo svg,.top-nav .title-area .logo,.top-nav .title-area .logo svg{height:75px}.top-bar .title-area .logo svg path,.top-nav .title-area .logo svg path{fill:#FFF}.top-bar .title-area .logo svg circle,.top-nav .title-area .logo svg circle{fill:#E74C3C}.top-bar{padding:0 15px}.top-menu{height:75px}.top-bar-section ul li{color:#222;position:relative}.top-bar-section ul li a{background:#42464d!important;color:#FFF!important;padding-top:15px!important;padding-bottom:8px!important}.top-bar-section ul li a:hover,.top-bar-section ul li.top-bar-icon a:hover,.top-bar-section ul li.top-bar-icon a:hover i,.top-bar-section ul li.top-bar-icon:hover,.top-bar-section ul li.top-bar-icon:hover i{color:#e6e6e6!important}.top-bar-section ul li.top-bar-icon{overflow:hidden;padding-right:8px}.top-bar-section ul li.top-bar-icon,.top-bar-section ul li.top-bar-icon a{font-size:30px;font-family:FontAwesome,sans-serif}.top-bar-section ul li.top-bar-icon a:hover svg,.top-bar-section ul li.top-bar-icon:hover svg{fill:#e6e6e6!important}.top-bar-section ul li.top-bar-icon a button,.top-bar-section ul li.top-bar-icon button{border:none;outline:0;background:0 0;color:#FFF;padding:0 5px;margin:0;height:auto;top:auto;cursor:pointer}.top-bar-section ul li.top-bar-icon a button:hover,.top-bar-section ul li.top-bar-icon button:hover{color:#e6e6e6!important}.top-bar-section ul li.top-bar-icon a button i,.top-bar-section ul li.top-bar-icon button i{margin-right:0}.top-bar-section ul li.top-bar-icon a i,.top-bar-section ul li.top-bar-icon a svg,.top-bar-section ul li.top-bar-icon i,.top-bar-section ul li.top-bar-icon svg{color:#FFF;font-style:normal;font-size:30px;fill:#FFF}.top-bar-section ul li.top-bar-icon a i.material-icons,.top-bar-section ul li.top-bar-icon a svg.material-icons,.top-bar-section ul li.top-bar-icon i.material-icons,.top-bar-section ul li.top-bar-icon svg.material-icons{margin-top:5px;line-height:70px}.top-bar-section ul li.top-bar-icon a svg,.top-bar-section ul li.top-bar-icon svg{width:32px!important;height:32px!important;vertical-align:middle}.top-bar-section ul li.top-bar-icon a span.label,.top-bar-section ul li.top-bar-icon span.label{display:block;color:#fff;height:20px;width:20px;font-size:9px;font-family:Roboto,"Open Sans",sans-serif;font-weight:700;padding:5px 0;position:absolute;right:0;bottom:15px;background:#E74C3C;background:rgba(231,76,60,.9);text-align:center;text-decoration:none;line-height:1;white-space:nowrap;margin-bottom:auto;vertical-align:middle}.top-bar-section ul li.top-bar-icon a{padding:0!important}.top-bar-section ul li.profile-area{font-family:Roboto,"Open Sans",sans-serif;font-size:18px;color:#FFF!important;margin-left:10px}.top-bar-section ul li.profile-area:before{content:"\E5D4";font-family:'Material Icons';font-style:normal;font-weight:400;color:#FFF;font-size:30px;position:absolute;left:-10px;top:0}.top-bar-section ul li.profile-area span{display:inline-block;margin:0 20px 0 15px;color:#fff!important}.top-bar-section ul li.profile-area span:hover{color:inherit}.top-bar-section ul li.profile-area a.profile-pic{display:inline-block;width:auto;background:0 0!important;padding:0!important;line-height:10px!important}.top-bar-section ul li.profile-area img{width:50px;height:50px;border-radius:50%}.notifications{width:300px!important;height:auto!important}.p-dropdown{visibility:hidden;opacity:0;z-index:99999;background:#fff;border:1px solid rgba(100,100,100,.4);box-shadow:0 3px 8px 0 rgba(0,0,0,.247059);transition:opacity .5s ease}.p-dropdown:after,.p-dropdown:before{content:" ";bottom:100%;left:260px;border:solid transparent;height:0;width:0;position:absolute;pointer-events:none}.p-dropdown:after{border-color:rgba(255,255,255,0);border-bottom-color:#fff;border-width:8px;margin-left:-8px}.p-dropdown:before{border-color:rgba(100,100,100,0);border-bottom-color:#646464;border-width:9px;margin-left:-9px}.p-dropdown.p-dropdown-left:after,.p-dropdown.p-dropdown-left:before{left:25px}.p-dropdown.pDropOpen{visibility:visible;opacity:1}.p-dropdown ul{list-style:none;display:block;float:left;margin:0;padding:0;font-size:12px}div.actions{width:100%;height:auto;border-bottom:1px solid rgba(100,100,100,.4);line-height:24px;font-size:12px;color:#000;font-family:Roboto,sans-serif}div.actions a{width:100%;padding:5px 10px}div.actions strong{margin-left:8px}#mail-notifications,#notifications,#online-Users,.p-dropdown{max-height:400px;position:absolute;left:-9999px}#mail-notifications .mail-Messages,#mail-notifications .notifications-Messages,#mail-notifications .online-Users-List,#notifications .mail-Messages,#notifications .notifications-Messages,#notifications .online-Users-List,#online-Users .mail-Messages,#online-Users .notifications-Messages,#online-Users .online-Users-List,.p-dropdown .mail-Messages,.p-dropdown .notifications-Messages,.p-dropdown .online-Users-List{float:left;max-height:320px;overflow-x:hidden;overflow-y:auto}#mail-notifications .mail-Messages ul,#mail-notifications .notifications-Messages ul,#mail-notifications .online-Users-List ul,#notifications .mail-Messages ul,#notifications .notifications-Messages ul,#notifications .online-Users-List ul,#online-Users .mail-Messages ul,#online-Users .notifications-Messages ul,#online-Users .online-Users-List ul,.p-dropdown .mail-Messages ul,.p-dropdown .notifications-Messages ul,.p-dropdown .online-Users-List ul{float:left;height:100%}#mail-notifications li,#notifications li,#online-Users li,.p-dropdown li{width:100%;background:#fff!important;border-bottom:1px solid rgba(100,100,100,.4);height:72px;max-height:80px;line-height:normal}#mail-notifications li:hover,#notifications li:hover,#online-Users li:hover,.p-dropdown li:hover{background:#f3f5f9!important}#mail-notifications li:last-child,#notifications li:last-child,#online-Users li:last-child,.p-dropdown li:last-child{border-bottom:none}#mail-notifications li .messageNotification,#notifications li .messageNotification,#online-Users li .messageNotification,.p-dropdown li .messageNotification{display:block;width:100%;height:71px;padding:10px!important;background:#fff!important;line-height:normal!important;font-size:12px;color:#000!important;position:relative}#mail-notifications li .messageNotification:hover,#notifications li .messageNotification:hover,#online-Users li .messageNotification:hover,.p-dropdown li .messageNotification:hover{background:0 0!important;color:#000!important}#mail-notifications li .messageNotification .messageUnread,#notifications li .messageNotification .messageUnread,#online-Users li .messageNotification .messageUnread,.p-dropdown li .messageNotification .messageUnread{width:16px;height:16px;font-size:12px;font-family:FontAwesome;color:#646464;position:absolute;top:8px;right:3px}#mail-notifications li .messageNotification .messageUnread:before,#notifications li .messageNotification .messageUnread:before,#online-Users li .messageNotification .messageUnread:before,.p-dropdown li .messageNotification .messageUnread:before{content:"\f111"}#mail-notifications li .messageNotification .messageUnread.read:before,#notifications li .messageNotification .messageUnread.read:before,#online-Users li .messageNotification .messageUnread.read:before,.p-dropdown li .messageNotification .messageUnread.read:before{content:"\f10c"}#mail-notifications li .messageNotification div.messageAuthor,#mail-notifications li .messageNotification div.messageDate,#mail-notifications li .messageNotification div.messageSnippet,#notifications li .messageNotification div.messageAuthor,#notifications li .messageNotification div.messageDate,#notifications li .messageNotification div.messageSnippet,#online-Users li .messageNotification div.messageAuthor,#online-Users li .messageNotification div.messageDate,#online-Users li .messageNotification div.messageSnippet,.p-dropdown li .messageNotification div.messageAuthor,.p-dropdown li .messageNotification div.messageDate,.p-dropdown li .messageNotification div.messageSnippet{margin-left:60px;margin-bottom:3px}#mail-notifications li .messageNotification div.messageDate,#notifications li .messageNotification div.messageDate,#online-Users li .messageNotification div.messageDate,.p-dropdown li .messageNotification div.messageDate{color:#646464!important}#mail-notifications li .messageNotification div.messageSnippet,#notifications li .messageNotification div.messageSnippet,#online-Users li .messageNotification div.messageSnippet,.p-dropdown li .messageNotification div.messageSnippet{width:218px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#mail-notifications li .messageNotification i,#notifications li .messageNotification i,#online-Users li .messageNotification i,.p-dropdown li .messageNotification i{display:block;width:50px;font-size:25px;line-height:59px;text-align:center;color:#000;background:0 0!important}#mail-notifications li .messageNotification i.warn,#notifications li .messageNotification i.warn,#online-Users li .messageNotification i.warn,.p-dropdown li .messageNotification i.warn{color:#e7a13c}#mail-notifications li .messageNotification i.green,#notifications li .messageNotification i.green,#online-Users li .messageNotification i.green,.p-dropdown li .messageNotification i.green{color:#29b955}#mail-notifications li .messageNotification i.red,#notifications li .messageNotification i.red,#online-Users li .messageNotification i.red,.p-dropdown li .messageNotification i.red{color:#b92929}#mail-notifications li .messageNotification i.blue,#notifications li .messageNotification i.blue,#online-Users li .messageNotification i.blue,.p-dropdown li .messageNotification i.blue{color:#017ebc}#mail-notifications.p-dropdown-small,#mail-notifications.p-dropdown-xsmall,#notifications.p-dropdown-small,#notifications.p-dropdown-xsmall,#online-Users.p-dropdown-small,#online-Users.p-dropdown-xsmall,.p-dropdown.p-dropdown-small,.p-dropdown.p-dropdown-xsmall{width:240px!important}#mail-notifications.p-dropdown-small:after,#mail-notifications.p-dropdown-small:before,#mail-notifications.p-dropdown-xsmall:after,#mail-notifications.p-dropdown-xsmall:before,#notifications.p-dropdown-small:after,#notifications.p-dropdown-small:before,#notifications.p-dropdown-xsmall:after,#notifications.p-dropdown-xsmall:before,#online-Users.p-dropdown-small:after,#online-Users.p-dropdown-small:before,#online-Users.p-dropdown-xsmall:after,#online-Users.p-dropdown-xsmall:before,.p-dropdown.p-dropdown-small:after,.p-dropdown.p-dropdown-small:before,.p-dropdown.p-dropdown-xsmall:after,.p-dropdown.p-dropdown-xsmall:before{content:" ";left:215px}#mail-notifications.p-dropdown-small div.notifications-Messages,#mail-notifications.p-dropdown-small div.notifications-Messages ul,#mail-notifications.p-dropdown-xsmall div.notifications-Messages,#mail-notifications.p-dropdown-xsmall div.notifications-Messages ul,#notifications.p-dropdown-small div.notifications-Messages,#notifications.p-dropdown-small div.notifications-Messages ul,#notifications.p-dropdown-xsmall div.notifications-Messages,#notifications.p-dropdown-xsmall div.notifications-Messages ul,#online-Users.p-dropdown-small div.notifications-Messages,#online-Users.p-dropdown-small div.notifications-Messages ul,#online-Users.p-dropdown-xsmall div.notifications-Messages,#online-Users.p-dropdown-xsmall div.notifications-Messages ul,.p-dropdown.p-dropdown-small div.notifications-Messages,.p-dropdown.p-dropdown-small div.notifications-Messages ul,.p-dropdown.p-dropdown-xsmall div.notifications-Messages,.p-dropdown.p-dropdown-xsmall div.notifications-Messages ul{width:100%}#mail-notifications.p-dropdown-small div.notifications-Messages ul li,#mail-notifications.p-dropdown-xsmall div.notifications-Messages ul li,#notifications.p-dropdown-small div.notifications-Messages ul li,#notifications.p-dropdown-xsmall div.notifications-Messages ul li,#online-Users.p-dropdown-small div.notifications-Messages ul li,#online-Users.p-dropdown-xsmall div.notifications-Messages ul li,.p-dropdown.p-dropdown-small div.notifications-Messages ul li,.p-dropdown.p-dropdown-xsmall div.notifications-Messages ul li{height:40px;width:100%}#mail-notifications.p-dropdown-small div.notifications-Messages a.messageNotification,#mail-notifications.p-dropdown-xsmall div.notifications-Messages a.messageNotification,#notifications.p-dropdown-small div.notifications-Messages a.messageNotification,#notifications.p-dropdown-xsmall div.notifications-Messages a.messageNotification,#online-Users.p-dropdown-small div.notifications-Messages a.messageNotification,#online-Users.p-dropdown-xsmall div.notifications-Messages a.messageNotification,.p-dropdown.p-dropdown-small div.notifications-Messages a.messageNotification,.p-dropdown.p-dropdown-xsmall div.notifications-Messages a.messageNotification{height:100%;padding-bottom:0!important}#mail-notifications.p-dropdown-small div.notifications-Messages .messageIcon i,#mail-notifications.p-dropdown-xsmall div.notifications-Messages .messageIcon i,#notifications.p-dropdown-small div.notifications-Messages .messageIcon i,#notifications.p-dropdown-xsmall div.notifications-Messages .messageIcon i,#online-Users.p-dropdown-small div.notifications-Messages .messageIcon i,#online-Users.p-dropdown-xsmall div.notifications-Messages .messageIcon i,.p-dropdown.p-dropdown-small div.notifications-Messages .messageIcon i,.p-dropdown.p-dropdown-xsmall div.notifications-Messages .messageIcon i{width:25px;height:25px;line-height:25px;font-size:20px}#mail-notifications.p-dropdown-small div.notifications-Messages .messageAuthor,#mail-notifications.p-dropdown-xsmall div.notifications-Messages .messageAuthor,#notifications.p-dropdown-small div.notifications-Messages .messageAuthor,#notifications.p-dropdown-xsmall div.notifications-Messages .messageAuthor,#online-Users.p-dropdown-small div.notifications-Messages .messageAuthor,#online-Users.p-dropdown-xsmall div.notifications-Messages .messageAuthor,.p-dropdown.p-dropdown-small div.notifications-Messages .messageAuthor,.p-dropdown.p-dropdown-xsmall div.notifications-Messages .messageAuthor{margin-left:40px;padding-top:3px}#mail-notifications.p-dropdown-xsmall,#notifications.p-dropdown-xsmall,#online-Users.p-dropdown-xsmall,.p-dropdown.p-dropdown-xsmall{width:140px!important}#mail-notifications.p-dropdown-xsmall:after,#mail-notifications.p-dropdown-xsmall:before,#notifications.p-dropdown-xsmall:after,#notifications.p-dropdown-xsmall:before,#online-Users.p-dropdown-xsmall:after,#online-Users.p-dropdown-xsmall:before,.p-dropdown.p-dropdown-xsmall:after,.p-dropdown.p-dropdown-xsmall:before{content:" ";left:120px}.sidebar{background:#e6e7e8;color:#3f444c;width:215px;position:fixed;top:75px;left:0;bottom:0;box-shadow:none;box-shadow:inset -1px 0 0 0 rgba(0,0,0,.1)}@media only screen and (min-width:40.063em) and (max-width:64em){.sidebar{position:absolute;top:75px;left:0;width:55px;max-width:55px;z-index:9999;overflow:hidden}}ul.side-nav,ul.side-nav-sub{list-style:none;line-height:1.6;display:block;margin:0;padding:.875rem 0}ul.side-nav hr,ul.side-nav-sub hr{margin:5px 0;background:#ccc}ul.side-nav li,ul.side-nav-sub li{font-size:14px;font-family:Roboto,sans-serif;margin:0;font-weight:400}ul.side-nav li.active>a,ul.side-nav-sub li.active>a{border-left:2px solid #E74C3C;font-family:Roboto,sans-serif!important;background:#595f69!important;color:#fff!important}ul.side-nav li.active>a i,ul.side-nav li.active>a svg,ul.side-nav-sub li.active>a i,ul.side-nav-sub li.active>a svg{color:#fff;fill:#fff}ul.side-nav li.active>a:after,ul.side-nav-sub li.active>a:after{width:0;height:0;border-style:solid;border-width:9px 9px 9px 0;border-color:transparent #f7f8fa transparent transparent;content:"";position:absolute;top:50%;margin-top:-9px;right:0}ul.side-nav a,ul.side-nav-sub a{padding:0 .875rem 0 60px!important;color:#3f444c!important;border-left:2px solid #e6e7e8;position:relative;line-height:48px;height:48px}ul.side-nav a:not(.button),ul.side-nav-sub a:not(.button){display:block;margin:0}ul.side-nav a span,ul.side-nav-sub a span{padding-bottom:5px}ul.side-nav a:hover,ul.side-nav-sub a:hover{border-left:2px solid #E74C3C;background:#d2d3d6!important}ul.side-nav a:hover i,ul.side-nav a:hover svg,ul.side-nav-sub a:hover i,ul.side-nav-sub a:hover svg{color:#3f444c;fill:#3f444c}ul.side-nav a:hover i.icon-accounts,ul.side-nav a:hover svg.icon-accounts,ul.side-nav-sub a:hover i.icon-accounts,ul.side-nav-sub a:hover svg.icon-accounts{background-position:0 -24px}ul.side-nav a:hover i.icon-groups,ul.side-nav a:hover svg.icon-groups,ul.side-nav-sub a:hover i.icon-groups,ul.side-nav-sub a:hover svg.icon-groups{background-position:0 -22px}ul.side-nav a:hover i.icon-invoices,ul.side-nav a:hover svg.icon-invoices,ul.side-nav-sub a:hover i.icon-invoices,ul.side-nav-sub a:hover svg.icon-invoices{background-position:0 -20px}ul.side-nav a i,ul.side-nav a svg,ul.side-nav-sub a i,ul.side-nav-sub a svg{line-height:26px;margin-right:15px;color:#3f444c;margin-top:5px;position:absolute;top:5px;left:15px;fill:#3f444c}ul.side-nav-sub{list-style:none;background:#dfe0e2;box-shadow:none;box-shadow:inset -1px 0 0 0 rgba(0,0,0,.1);margin:0;padding:10px 0;overflow:hidden;display:none}ul.side-nav-sub.subMenuOpen{display:block}ul.side-nav-sub hr{margin:15px 20px;border:none;height:1px;background:#9c9fa5}ul.side-nav-sub li{margin:5px 0}ul.side-nav-sub li.active a{background:#dfe0e2!important;color:#000!important;font-weight:700;border:none;border-right:1px solid rgba(0,0,0,.1)}ul.side-nav-sub li.active a:after{content:none}ul.side-nav-sub li.active a:hover{background:#d2d3d6!important}ul.side-nav-sub li.active a i,ul.side-nav-sub li.active a svg{color:#000!important;fill:#000!important}ul.side-nav-sub li.active a .fa-sub-icon{line-height:20px;font-size:20px;left:20px;top:0}ul.side-nav-sub li.active a .fa-sub-icon.material-icons{font-size:24px}ul.side-nav-sub li.active a .icon-inbox{background-position:0 -18px}ul.side-nav-sub li.active a .icon-sent{background-position:-16px -17px}ul.side-nav-sub li.active a .icon-trash{background-position:-32px -16px}ul.side-nav-sub li.active a .icon-check{background-position:0 -16px}ul.side-nav-sub a{border:none;font-weight:300;padding-left:62px!important;line-height:30px;height:30px!important;color:#595959}ul.side-nav-sub a i,ul.side-nav-sub a svg{color:#595959!important;fill:#595959!important}ul.side-nav-sub a:hover{border:none;color:#222!important;background:#d2d3d6!important}ul.side-nav-sub a:hover i,ul.side-nav-sub a:hover svg{color:#222!important;fill:#222!important}ul.side-nav-sub a:hover .icon-inbox{background-position:0 -18px}ul.side-nav-sub a:hover .icon-sent{background-position:-16px -17px}ul.side-nav-sub a:hover .icon-trash{background-position:-32px -16px}ul.side-nav-sub a:hover .icon-check{background-position:0 -16px}ul.side-nav-sub a .fa-sub-icon,ul.side-nav-sub a svg{line-height:20px;font-size:20px;left:20px;top:0}ul.side-nav-sub a .fa-sub-icon.material-icons,ul.side-nav-sub a svg.material-icons{font-size:24px}.icon-check,.icon-inbox,.icon-sent,.icon-trash{width:16px;height:16px;background:url(/img/inbox.png) no-repeat;position:absolute;top:3px!important;left:20px!important}.icon-check{background-image:url(/img/tickets_submenu.png)}.icon-sent{background-position:-16px 0}.icon-trash{background-position:-32px 0;left:22px!important}.icon-accounts{width:18px;height:24px;background:url(/img/accounts.png) no-repeat}.icon-groups{width:22px;height:22px;background:url(/img/groups.png) no-repeat}.icon-invoices{width:24px;height:20px;background:url(/img/invoices.png) no-repeat;top:10px!important}.uk-offcanvas{background:rgba(0,0,0,.3)}.uk-offcanvas-bar{background:#e6e7e8}.online-list-sidebar h5{font-family:"Source Sans Pro",sans-serif;font-size:12px;font-weight:500;margin:20px 5px 5px;color:#7c8186}.online-list-sidebar hr{width:100%;height:1px;display:block;margin:5px 0;background:#ddd}.online-list-sidebar .online-list-head{height:40px;width:100%;background:#595f69;margin-bottom:8px}.online-list-sidebar .online-list-head h3{font-family:"Source Sans Pro",sans-serif;font-size:14px;text-align:center;width:100%;display:block;color:#FFF;margin:0;line-height:40px}.online-list-sidebar .online-list,.online-list-sidebar .user-list{list-style:none;margin:0;padding:0}.online-list-sidebar .online-list li a,.online-list-sidebar .user-list li a{display:block;padding:5px 10px;color:#3c3c3c;position:relative}.online-list-sidebar .online-list li a:hover,.online-list-sidebar .user-list li a:hover{background:#d2d3d6;color:#3c3c3c;text-decoration:none}.chat-dock .chat-box-wrapper .chat-box .chat-box-title h4 a:hover,.comments-wrapper .initial-issue a.comment-email-link:hover,.comments-wrapper .initial-issue a:hover,.comments-wrapper .ticket-comment a.comment-email-link:hover,.comments-wrapper .ticket-comment a:hover,.comments-wrapper .ticket-reply a.comment-email-link:hover,.comments-wrapper .ticket-reply a:hover,.ticket-assignee .ticket-assignee-details a:active:hover,.ticket-assignee .ticket-assignee-details a:active:hover:focus,.ticket-assignee .ticket-assignee-details a:focus:hover,.ticket-assignee .ticket-assignee-details a:focus:hover:focus,.ticket-assignee .ticket-assignee-details a:hover,.ticket-assignee .ticket-assignee-details a:hover:focus{text-decoration:underline}.online-list-sidebar .online-list li a .online-list-user .image,.online-list-sidebar .online-list li a .user-list-user .image,.online-list-sidebar .user-list li a .online-list-user .image,.online-list-sidebar .user-list li a .user-list-user .image{height:30px;width:30px;float:left;display:block}.online-list-sidebar .online-list li a .online-list-user .image img,.online-list-sidebar .online-list li a .user-list-user .image img,.online-list-sidebar .user-list li a .online-list-user .image img,.online-list-sidebar .user-list li a .user-list-user .image img{border-radius:50%}.online-list-sidebar .online-list li a .online-name,.online-list-sidebar .online-list li a .user-name,.online-list-sidebar .user-list li a .online-name,.online-list-sidebar .user-list li a .user-name{font-size:13px;font-weight:400;margin-left:40px;line-height:30px}.message-folder,.message-items li.unread .message-date,.message-items li.unread .message-from,.message-items li.unread .message-subject{font-weight:600}.online-list-sidebar .online-list li a .online-status,.online-list-sidebar .user-list li a .online-status{position:absolute;right:10px;top:15px;display:block}.online-list-sidebar .online-list li a .online-status:after,.online-list-sidebar .user-list li a .online-status:after{content:'';background:#29b955;width:6px;height:6px;border-radius:50%;display:block}.online-list-sidebar .online-list li a .online-status-offline,.online-list-sidebar .user-list li a .online-status-offline{position:absolute;right:10px;top:10px;display:block;font-size:11px;color:#88909c}.message-list{padding:0!important}@media only screen and (min-width:40.063em) and (max-width:64em){.message-list{padding:0 0 0 55px!important}}.message-items{list-style:none;background:#f7f8fa;padding:0;margin:0;border-top:1px solid #dadada;border-right:1px solid #dadada;height:100%}.message-items li{height:85px;padding-top:17px;padding-left:10px;border-bottom:1px solid #dadada;position:relative;overflow:hidden;text-overflow:'...'}.message-items li:hover{background:#fff;cursor:pointer}.message-items li.message-folder:hover{background:#f7f8fa;cursor:default}.message-items li.active{background:#fff}.message-items li.active:before,.message-items li.message-tag:before{content:"";width:3px;height:100%;position:absolute;bottom:0;top:0;left:0;border-left:4px solid #E74C3C}.message-items li.message-tag-blue:before{border-left:4px solid #2980b9!important}.message-items li.unread{border-left:4px solid #2196F3!important}.message-items li .profile-pic{float:left;position:relative}.message-items li .profile-pic img{height:50px;width:50px}.message-items li .convo-info{margin-left:65px;height:50px;max-height:50px}.message-items li .message-date,.message-items li .message-from,.message-items li .message-subject{padding:0}.message-items li .message-subject{margin-top:3px;color:#a2a2a2;margin-right:15px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.message-folder{line-height:85px;padding-top:0!important;font-size:24px;font-family:Roboto,"Open Sans",sans-serif;color:#E74C3C}.message-folder:hover{background:inherit!important}.invoice-date,.message-date{position:absolute;top:20px;right:20px;color:#8891a3;font-size:13px;font-family:"Source Sans Pro",sans-serif}.invoice-date,.invoice-overdue{font-family:Roboto,sans-serif}.invoice-date{top:17px}.invoice-overdue{position:absolute;top:40px;right:20px;color:#fff;background:#d32f2f;padding:0 10px;font-size:11px;font-weight:300;border-radius:2px}.invoice-name,.message-from{display:inline-block;font-family:"Source Sans Pro",sans-serif;color:#3c3c3c;font-size:14px;padding-left:8px;padding-top:3px!important;font-weight:500}.invoice-name{font-family:Roboto,sans-serif;font-weight:500;padding-left:0}.invoice-payee,.message-subject{display:block;padding-left:25px;font-family:"Source Sans Pro",sans-serif;font-size:14px;color:#3c3c3c}.invoice-payee{padding-left:0;padding-top:5px}.message-content{background:#fff;position:relative}.message-textbox{position:absolute;bottom:1px;left:0;right:0;height:40px;border:none;border-top:1px solid #ddd;background:#fff}.message-textbox button,.message-textbox input{border:none;font-family:"Source Sans Pro",sans-serif;font-size:14px}.message-textbox button{margin:0;padding:0;background:0 0;color:#2196F3;display:block;float:right;width:10%;line-height:40px}.message-textbox input{float:left;width:90%;padding:5px 8px;height:40px}.message img,.message-profile-image img{border-radius:50%}.message-textbox a{display:block;float:right;width:100%;font-family:"Source Sans Pro",sans-serif;font-size:14px;text-align:right;padding-right:20px;line-height:40px}.message-header h1,.message-header h5,.message-header span{font-family:Roboto,"Open Sans",sans-serif;font-weight:300}.message-header{border-bottom:1px solid #dadada;padding:20px 30px 30px;position:relative}.message-header h1,.message-header h5{display:block;font-size:30px;color:#3d4854;margin-bottom:5px}.message-header h5,.message-header span{font-size:14px;display:inline-block}.message-header span{width:40px;margin-right:5px;padding-left:3px;color:#888}.message-profile-image{height:96px;width:96px;max-height:100%;float:left;margin-right:25px}input[type=checkbox].poloCheckbox{visibility:hidden}input[type=checkbox].poloCheckbox+label{display:inline-block;height:14px;width:16px;background:url(/img/checkbox.png) no-repeat;cursor:pointer;position:absolute;top:19px;left:5px}input[type=checkbox]:checked.poloCheckbox+label{background-position:0 -14px}.conversation-deleted,.conversation-start{width:100%;text-align:center;display:block;padding:10px 5px 5px;font-size:11px;color:#989898;font-family:Roboto,sans-serif}.conversation-deleted{font-weight:700}.message{padding:10px;display:flex;width:auto;max-width:60%;clear:both}.message img{height:30px;width:30px;float:left}.message .message-body{margin-left:10px;padding:5px 8px;background:#ddd;border-radius:5px}.message .message-body p{color:#555;font-size:13px;margin:0}.message.message-right{float:right}.message.message-right .message-body{background:#E74C3C;margin-left:0;margin-right:10px;float:right}.message.message-right .message-body p{color:#fff}.button-group li.active>a,.button-group li.active>button{background:#E74C3C;color:#fff}.button-group a.btn,.button-group button{display:block;color:#5a5f68;font-family:"Source Sans Pro",sans-serif;font-weight:600;font-size:14px;margin:18px 5px 0 0;padding:4px 16px;border-radius:3px;background:inherit;border-left:none!important;border-color:transparent;line-height:inherit}.button-group a.btn:active,.button-group a.btn:focus,.button-group button:active,.button-group button:focus{outline:0}.button-group a.btn:hover,.button-group button:hover{background:#E74C3C;color:#fff}.button-group a.btn i,.button-group button i{font-weight:400;margin-right:10px;font-size:14px}.icon-button{display:block;color:#5a5f68;padding:0;background:inherit;margin:20px 0 0}.icon-button:hover{color:#E74C3C}.icon-button i{font-size:24px}.search-box{padding:10px;border-top:1px solid #ddd;border-right:1px solid #ddd}.search-box input{width:100%;border:none;background:#f1f1f1;padding:5px 15px;color:#222;font-size:13px;font-weight:300;border-radius:15px}@media only screen and (min-width:40.063em) and (max-width:64em){.ticketContent{padding:0 0 0 55px!important}}.accountList,.ticketList{overflow:hidden}div#accountsTable_wrapper,div#ticketTable_wrapper{margin-bottom:0}.ticket-status span{display:block;width:65px;line-height:25px;height:25px;text-align:center;font-size:12px;font-weight:300;font-family:Roboto,sans-serif;color:#fff;background:#CCC;border-radius:3px}.page-top-comments a.btn,.page-top-comments button,.page-top-comments button.btn,.tag-info-wrap h4,.ticket-assignee .ticket-assignee-details h3,.ticket-assignee-wrap h4{font-family:Roboto,"Open Sans",sans-serif}.ticket-status-open,.ticket-status.ticket-open span{background:#d32f2f!important}.ticket-status-new,.ticket-status.ticket-new span{background:#29b955!important}.ticket-status-pending,.ticket-status.ticket-pending span{background:#2196F3!important}.ticket-status-closed,.ticket-status.ticket-closed span{background:#CCC!important}.ticket-priority{border-left:10px solid transparent}.ticket-priority.ticket-priority-2{border-color:#8e24aa}.ticket-priority.ticket-priority-3{border-color:#e65100}.floating-ticket-status{position:absolute;top:22px;right:18px}.floating-ticket-status .ticket-status span{font-weight:500}.floating-ticket-status #statusSelect{transition:all .4s cubic-bezier(.4,0,.2,1);height:0;overflow:hidden;opacity:0}.floating-ticket-status #statusSelect.hide{display:block!important;height:0!important;opacity:0!important}.floating-ticket-status #statusSelect.shown{height:124px!important;opacity:1!important}#statusSelect{position:absolute;top:28px;left:-5px;padding:5px;background:#fff;border:1px solid #bec4d0;border-radius:3px;z-index:999}#statusSelect ul{margin:0;padding:0;list-style:none}#statusSelect ul li{margin-bottom:3px;cursor:pointer}.page-actions .print-ticket a{display:inline-block;margin:19px;color:#707989;font-size:14px;font-weight:300}.page-actions .print-ticket a:hover{color:#59606d}.page-actions .print-ticket i{display:inline-block;margin-right:8px;font-size:18px}.page-top-comments .active>a,.page-top-comments .active>button{background:#cad2e2}.page-top-comments a.btn,.page-top-comments button,.page-top-comments button.btn{background:#c8cfdd;display:block;color:#484848;font-weight:400;font-size:12px;margin:18px 5px 0 0;padding:6px 16px;border-radius:3px;height:28px;line-height:14px}.page-top-comments a.btn:hover,.page-top-comments button.btn:hover,.page-top-comments button:hover{background:#b8c1d3}.page-top-comments a.btn i,.page-top-comments button i,.page-top-comments button.btn i{font-weight:400;margin-right:10px;font-size:14px}.tag-info-wrap,.ticket-assignee-wrap{padding-left:30px;padding-top:30px;margin-bottom:40px}.tag-info-wrap.tru-card,.ticket-assignee-wrap.tru-card{background:#fff;padding:5px 15px 15px;border-radius:3px;margin:30px}.tag-info-wrap h4,.ticket-assignee-wrap h4{font-size:14px;color:#8e98a2;margin-bottom:10px}.ticket-assignee{line-height:1}.ticket-assignee img{float:left;display:block;width:50px;height:50px;margin-left:5px;border-radius:50%}.ticket-assignee .ticket-assignee-details{padding-left:75px}.ticket-assignee .ticket-assignee-details h3{font-size:14px;color:#3d4854;margin:0 0 7px;line-height:normal}.ticket-assignee .ticket-assignee-details a,.ticket-assignee .ticket-assignee-details a:active,.ticket-assignee .ticket-assignee-details a:focus{display:block;font:400 12px/15px Roboto,"Open Sans",sans-serif;color:#76797e;margin:0 0 2px}.comments-wrapper .initial-issue .attachments,.comments-wrapper .initial-issue h3,.comments-wrapper .initial-issue time,.comments-wrapper .ticket-comment .attachments,.comments-wrapper .ticket-comment h3,.comments-wrapper .ticket-comment time,.comments-wrapper .ticket-reply .attachments,.comments-wrapper .ticket-reply h3,.comments-wrapper .ticket-reply time,.ticket-assignee .ticket-assignee-details span,.ticket-details,.ticket-details .input-box,.ticket-details .input-box .item,.ticket-details .tag-list,.ticket-details .tag-list .item,.ticket-details input,.ticket-details label,.ticket-details select{font-family:Roboto,"Open Sans",sans-serif}.ticket-assignee .ticket-assignee-details span{font-size:12px;color:#76797e;margin:0 0 3px}.ticket-details{display:block;min-height:150px;background:#fff;border:1px solid #d3d9e4;margin:0 15px 30px!important;padding:15px!important;font-size:12px;color:#76797e;border-radius:3px}.ticket-details label{font-size:12px;color:#76797e;margin-bottom:3px}.ticket-details .input-box,.ticket-details .tag-list,.ticket-details input,.ticket-details select{font-size:12px;height:25px;width:97%;padding:5px 10px;margin-bottom:12px;color:#484848;background:#f3f5f9;border:1px solid #bec4d0;border-radius:3px;box-shadow:none}.ticket-details .input-box:focus,.ticket-details .tag-list:focus,.ticket-details input:focus,.ticket-details select:focus{outline:0;border-color:#bec4d0;background:#fff;box-shadow:none}.ticket-details select,.ticket-details select:focus{-webkit-appearance:none;background:url("data:image/svg+xml;utf8,") 100% 50% no-repeat;border:none;border-bottom:1px solid #CCC;border-radius:0;padding:0}.ticket-details .input-box,.ticket-details .tag-list{display:block;padding:0;height:auto;min-height:25px;max-height:none;margin-bottom:5px;background:inherit;border:none;border-bottom:1px solid #CCC;border-radius:0}.ticket-details .input-box .item,.ticket-details .tag-list .item{display:inline-block;float:left;font-size:12px;padding:0 8px;margin:2px 0 0 2px;max-height:20px;background:#3498db;color:#fff;border-radius:3px}.ticket-details .input-box .item.orange,.ticket-details .tag-list .item.orange{background:#db5334}.ticket-details .input-box .item:last-of-type,.ticket-details .tag-list .item:last-of-type{margin-bottom:2px}.ticket-details .input-box{margin-bottom:15px}.history-items{height:185px;width:100%}.history-items .history-item{border-bottom:1px solid #ddd;margin-bottom:10px}.history-items .history-item em,.history-items .history-item p{font-size:11px;line-height:13px;margin-bottom:7px;color:#76797e}.history-items .history-item time{font-size:11px;font-weight:600;line-height:13px}.history-items .history-item em{display:block;font-style:normal}.history-items .history-item em span{font-weight:600}.history-items .history-item p{font-weight:400;margin-top:3px;display:inline-block}.comments-wrapper .initial-issue,.comments-wrapper .ticket-comment,.comments-wrapper .ticket-reply{padding:20px 20px 15px 25px;border-bottom:none}.comments-wrapper .initial-issue img,.comments-wrapper .ticket-comment img,.comments-wrapper .ticket-reply img{display:block;float:left;height:50px;width:50px;margin-left:10px;border-radius:50%}.comments-wrapper .initial-issue .issue-text,.comments-wrapper .ticket-comment .issue-text,.comments-wrapper .ticket-reply .issue-text{padding-left:85px}.comments-wrapper .initial-issue h3,.comments-wrapper .ticket-comment h3,.comments-wrapper .ticket-reply h3{margin:0 0 5px;font-size:18px;font-weight:600;color:#3d4854}.comments-wrapper .initial-issue a,.comments-wrapper .initial-issue a.comment-email-link,.comments-wrapper .ticket-comment a,.comments-wrapper .ticket-comment a.comment-email-link,.comments-wrapper .ticket-reply a,.comments-wrapper .ticket-reply a.comment-email-link{display:inline-block;font-size:12px;font-family:Roboto,"Open Sans",sans-serif;color:#E74C3C;margin-left:2px}.comments-wrapper .initial-issue a,.comments-wrapper .ticket-comment a,.comments-wrapper .ticket-reply a{font-size:14px}.comments-wrapper .initial-issue time,.comments-wrapper .ticket-comment time,.comments-wrapper .ticket-reply time{font-size:12px;color:#76797e;display:block;margin-bottom:4px;margin-left:2px}.comments-wrapper .initial-issue .attachments,.comments-wrapper .ticket-comment .attachments,.comments-wrapper .ticket-reply .attachments{margin:0 0 25px;font-size:12px;color:#76797e;list-style:none;display:inline-block}.comments-wrapper .initial-issue .attachments li,.comments-wrapper .ticket-comment .attachments li,.comments-wrapper .ticket-reply .attachments li{position:relative;padding-left:15px;margin-right:8px;display:inline-block}.comments-wrapper .initial-issue .attachments li:before,.comments-wrapper .ticket-comment .attachments li:before,.comments-wrapper .ticket-reply .attachments li:before{content:"\f016";font-family:FontAwesome;position:absolute;top:0;left:0;padding-right:.5em;color:#76797e}.comments-wrapper .initial-issue .attachments a,.comments-wrapper .ticket-comment .attachments a,.comments-wrapper .ticket-reply .attachments a{font-size:12px;color:#6a6c71}.comments-wrapper .initial-issue p,.comments-wrapper .ticket-comment p,.comments-wrapper .ticket-reply p{font-family:Roboto,"Open Sans",sans-serif;font-size:14px;color:#3d4854;line-height:20px}.comments-wrapper .initial-issue,.comments-wrapper .ticket-comment{position:relative}.comments-wrapper .initial-issue .add-attachment,.comments-wrapper .initial-issue .comment-actions,.comments-wrapper .initial-issue .edit-issue,.comments-wrapper .ticket-comment .add-attachment,.comments-wrapper .ticket-comment .comment-actions,.comments-wrapper .ticket-comment .edit-issue{position:absolute;right:25px;top:15px;font-weight:600;font-size:14px;line-height:normal;cursor:pointer;display:none;color:#8699ac}.comments-wrapper .initial-issue .add-attachment,.comments-wrapper .ticket-comment .add-attachment{right:55px}.comments-wrapper .initial-issue:hover .add-attachment,.comments-wrapper .initial-issue:hover .comment-actions,.comments-wrapper .initial-issue:hover .edit-issue,.comments-wrapper .ticket-comment:hover .add-attachment,.comments-wrapper .ticket-comment:hover .comment-actions,.comments-wrapper .ticket-comment:hover .edit-issue{display:block}.comments-wrapper .initial-issue .comment-actions div,.comments-wrapper .ticket-comment .comment-actions div{float:right;display:inline-block;margin:0 5px}.comments-wrapper .initial-issue .comment-box,.comments-wrapper .initial-issue .edit-comment-box,.comments-wrapper .initial-issue .edit-issue-box,.comments-wrapper .ticket-comment .comment-box,.comments-wrapper .ticket-comment .edit-comment-box,.comments-wrapper .ticket-comment .edit-issue-box,.comments-wrapper .ticket-reply .comment-box,.comments-wrapper .ticket-reply .edit-comment-box,.comments-wrapper .ticket-reply .edit-issue-box{width:100%;display:block;padding-left:85px;margin-bottom:1rem}.comments-wrapper .initial-issue .comment-box textarea,.comments-wrapper .initial-issue .edit-comment-box textarea,.comments-wrapper .initial-issue .edit-issue-box textarea,.comments-wrapper .ticket-comment .comment-box textarea,.comments-wrapper .ticket-comment .edit-comment-box textarea,.comments-wrapper .ticket-comment .edit-issue-box textarea,.comments-wrapper .ticket-reply .comment-box textarea,.comments-wrapper .ticket-reply .edit-comment-box textarea,.comments-wrapper .ticket-reply .edit-issue-box textarea{width:100%;font-family:Roboto,"Open Sans",sans-serif;font-size:14px;color:#3d4854;resize:none;border-color:#dfe4ef;border-width:0 0 1px;background:inherit;padding:8px;border-radius:0;box-shadow:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.comments-wrapper .initial-issue .comment-box textarea.uk-form-danger,.comments-wrapper .initial-issue .edit-comment-box textarea.uk-form-danger,.comments-wrapper .initial-issue .edit-issue-box textarea.uk-form-danger,.comments-wrapper .ticket-comment .comment-box textarea.uk-form-danger,.comments-wrapper .ticket-comment .edit-comment-box textarea.uk-form-danger,.comments-wrapper .ticket-comment .edit-issue-box textarea.uk-form-danger,.comments-wrapper .ticket-reply .comment-box textarea.uk-form-danger,.comments-wrapper .ticket-reply .edit-comment-box textarea.uk-form-danger,.comments-wrapper .ticket-reply .edit-issue-box textarea.uk-form-danger{border-color:#d32f2f!important;background:0 0!important}.comments-wrapper .initial-issue button[type=reset],.comments-wrapper .initial-issue button[type=submit],.comments-wrapper .ticket-comment button[type=reset],.comments-wrapper .ticket-comment button[type=submit],.comments-wrapper .ticket-reply button[type=reset],.comments-wrapper .ticket-reply button[type=submit]{font-family:Roboto,"Open Sans",sans-serif;font-size:14px;color:#fff;padding:3px 15px;background:#E74C3C;border-radius:3px;font-weight:400}.comments-wrapper .initial-issue button[type=reset]:hover,.comments-wrapper .initial-issue button[type=submit]:hover,.comments-wrapper .ticket-comment button[type=reset]:hover,.comments-wrapper .ticket-comment button[type=submit]:hover,.comments-wrapper .ticket-reply button[type=reset]:hover,.comments-wrapper .ticket-reply button[type=submit]:hover{background:#e43725}.comments-wrapper .initial-issue button[type=reset]:active,.comments-wrapper .initial-issue button[type=reset]:focus,.comments-wrapper .initial-issue button[type=submit]:active,.comments-wrapper .initial-issue button[type=submit]:focus,.comments-wrapper .ticket-comment button[type=reset]:active,.comments-wrapper .ticket-comment button[type=reset]:focus,.comments-wrapper .ticket-comment button[type=submit]:active,.comments-wrapper .ticket-comment button[type=submit]:focus,.comments-wrapper .ticket-reply button[type=reset]:active,.comments-wrapper .ticket-reply button[type=reset]:focus,.comments-wrapper .ticket-reply button[type=submit]:active,.comments-wrapper .ticket-reply button[type=submit]:focus{outline:0}.comments-wrapper .initial-issue button[type=reset],.comments-wrapper .ticket-comment button[type=reset],.comments-wrapper .ticket-reply button[type=reset]{background:#cdd5e4}.comments-wrapper .initial-issue button[type=reset]:hover,.comments-wrapper .ticket-comment button[type=reset]:hover,.comments-wrapper .ticket-reply button[type=reset]:hover{background:#acb9d2}span.uk-form-danger{font-size:11px;background:0 0!important;border:none!important;font-weight:600}.initial-issue,.ticket-comment{border-bottom:1px solid #dfe4ef!important}form.form label,form.ticket-form label{font-family:Roboto,"Open Sans",sans-serif;font-size:14px;font-weight:400;color:#2c3e50;margin-bottom:3px;display:inline-block}form.form input,form.form select,form.form textarea,form.ticket-form input,form.ticket-form select,form.ticket-form textarea{font-family:Roboto,"Open Sans",sans-serif;font-size:14px;color:#223140;background:#eceff6;box-shadow:none;border:1px solid #9aa1ad}form.form input:focus,form.form select:focus,form.form textarea:focus,form.ticket-form input:focus,form.ticket-form select:focus,form.ticket-form textarea:focus{background:#fdfefe;box-shadow:none;outline:0}form.form textarea,form.ticket-form textarea{resize:none}input[type=text][disabled]{color:gray;background:#dbe0ee}.dt-borderTop{border-top:1px solid #dadada}.dt-borderBottom{border-bottom:1px solid #dadada}.dataTables_scrollHeadInner{width:100%!important;padding-right:0!important}.dataTables_scrollHeadInner .pDataTable{width:100%!important}.dataTables_scrollBody .pDataTable thead{border:none}.pDataTable,table.dataTable thead{border-bottom:1px solid #dadada}.pDataTable.stripe tr:nth-of-type(even){background:#f7f7f7}.pDataTable.stripe tr:nth-of-type(even):hover{cursor:pointer;background:#f7f8fa}.pDataTable tr{height:52px;padding-right:15px}.pDataTable tbody tr{background:#fff}.pDataTable tbody tr:hover{cursor:pointer;background:#f5f5f6}.pDataTable tbody tr.ticket-new td{font-weight:600}.pDataTable tbody tr.ticket-closed td{font-weight:300;color:#95a1af}.pDataTable tbody tr td{position:relative}.pDataTable tbody tr td label{top:39%;left:5px}.pDataTable tbody tr td.group{background:#e9ecf2}.pDataTable tbody tr td.group:hover{cursor:default}.pDataTable tbody tr td.group span:before{content:"Status ";font-weight:600}.pDataTable .dataTables_empty{font-family:Roboto,"Open Sans",sans-serif;font-size:16px;font-weight:300;padding-top:17px}table.dataTable{margin-top:0!important}table.dataTable thead{background:#f7f8fa;font-family:Roboto,"Open Sans",sans-serif;border-top:1px solid #dadada;border-right:none;border-left:none}table.dataTable thead .sorting:last-child,table.dataTable thead .sorting_asc:last-child,table.dataTable thead .sorting_desc:last-child{background-position:right 15px center}table.dataTable thead tr th{font-size:12px;color:#55616e;font-weight:400}table.dataTable tbody tr td{font-family:Roboto,"Open Sans",sans-serif;color:#55616e;font-weight:400;font-size:14px}div.dataTables_wrapper{background:#f7f8fa;margin-bottom:0}div.dataTables_wrapper .dataTables_filter{float:right}div.dataTables_wrapper .dataTables_filter input,div.dataTables_wrapper .dataTables_filter label{font-family:Roboto,"Open Sans",sans-serif;font-weight:300;font-size:13px;margin-right:5px}div.dataTables_wrapper .dataTables_filter input{margin:7px 15px 7px 7px;height:30px;padding:8px;border-radius:4px}div.dataTables_wrapper .dataTables_filter input:focus{box-shadow:none}.server-row{margin:25px 0 0!important}.server-box{max-height:290px;background:#fff;margin-bottom:25px;border-radius:3px;box-shadow:0 1px 3px 0 rgba(44,62,80,.2)}.server-box .server-title{height:40px;background:#29b955;border-radius:3px 3px 0 0}.server-box .server-title.server-status-red{background:#b92929}.server-box .server-title.server-status-green{background:#29b955}.server-box .server-title.server-status-orange{background:#e77c3c}.server-box .server-title p{display:block;width:100%;font-family:Roboto,sans-serif;font-size:14px;font-weight:500;text-align:center;color:#fff;line-height:40px}.server-box .server-content{max-height:250px}.server-box .server-content .row:first-child{padding:25px 20px 15px}.server-box .server-content .row{padding:7px 20px}.server-box .server-content p{color:#2c3e50;font-family:Roboto,sans-serif;font-size:12px;font-weight:400;margin-bottom:0}.server-box .server-ping p:before{content:" ";display:inline-block;width:20px;height:5px;border-radius:5px;background:#29b955;margin-right:10px;vertical-align:middle}.server-box .server-ping p:after{content:"ms"}.server-box .server-ping.ping-status-green p:before{background:#29b955}.server-box .server-ping.ping-status-orange p:before{background:#e77c3c}.server-box .server-ping.ping-status-red p:before,.server-box .server-ping.ping-status-timeout p:before{background:#b92929}.server-box .server-ping.ping-status-timeout p:after{content:''}.server-box .server-col-left p{font-weight:500}.server-box .server-col-right p{text-align:right}.server-box .server-services{margin-bottom:15px}.server-box .server-services .server-services-list{float:left;display:block;list-style:none;margin:0;padding:0;width:100%;height:10px;background:#d5dae6;border-radius:5px}.server-box .server-services .server-services-list li{float:left;position:relative;border-right:2px solid #fff;width:35px;height:100%;cursor:pointer}.server-box .server-services .server-services-list li:first-child{border-radius:5px 0 0 5px}.server-box .server-services .server-services-list li:first-child.green{border-left:2px solid #29b955}.server-box .server-services .server-services-list li:first-child.orange{border-left:2px solid #e77c3c}.server-box .server-services .server-services-list li:first-child.red{border-left:2px solid #b92929}.server-box .server-services .server-services-list li.green{background:#29b955}.server-box .server-services .server-services-list li.orange{background:#e77c3c}.server-box .server-services .server-services-list li.red{background:#b92929}.server-box .server-services .server-services-list li span{display:block;font-size:0;height:100%;width:100%}.chat-bar,.chat-dock{position:fixed;height:0;width:100%;left:0;bottom:0}.chat-dock{right:0;z-index:300}.chat-dock .chat-box-wrapper{position:relative;display:block}.chat-dock .chat-box-wrapper .chat-box-position{position:relative;top:-280px;left:0}.chat-dock .chat-box-wrapper .chat-box{float:right;margin-right:15px;width:260px;height:280px;background:#f3f5f9;z-index:300;border:1px solid rgba(100,100,100,.4);border-bottom:none;border-radius:0;box-shadow:0 3px 8px 0 rgba(0,0,0,.247059);transition:opacity .5s ease}.chat-dock .chat-box-wrapper .chat-box .chat-box-title{display:block;background:#42464d;height:29px;border:1px solid transparent;cursor:pointer;box-shadow:0 0 0 1px #42464d}.chat-dock .chat-box-wrapper .chat-box .chat-box-title .material-icons{font-size:14px}.chat-dock .chat-box-wrapper .chat-box .chat-box-title h4{font-size:14px;margin:5px 8px 3px;font-family:"Source Sans Pro",sans-serif}.chat-dock .chat-box-wrapper .chat-box .chat-box-title h4 a{color:#fff}.chat-dock .chat-box-wrapper .chat-box .chat-box-title-buttons{line-height:29px;margin-right:7px;font-size:14px}.chat-dock .chat-box-wrapper .chat-box .chat-box-title-buttons a{color:#bac3c6}.chat-dock .chat-box-wrapper .chat-box .chat-box-title-buttons a:hover{color:#fff}.chat-dock .chat-box-wrapper .chat-box .chat-box-text{display:block;cursor:text;max-height:77px;overflow-x:hidden;overflow-y:auto;padding:7px 49px 4px 5px;position:relative;background:#fff;line-height:16px;height:auto;border-top:1px solid #c9d0da}.chat-dock .chat-box-wrapper .chat-box textarea{resize:none;display:block;border:none;margin:0;min-height:16px;outline:0;padding:0;width:100%;font-size:12px;line-height:normal;overflow:hidden;max-width:100%;white-space:pre-wrap;word-wrap:break-word;height:0;box-shadow:none}.chat-dock .chat-box-wrapper .chat-box textarea:focus{background:inherit}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages{background:#edeff4;height:220px;width:100%;border-top:1px solid #223140;padding:7px}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message{margin-bottom:10px;position:relative;min-height:35px}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message.chat-message-user{min-height:25px}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message.chat-message-user .chat-text-wrapper{margin-left:60px}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message.chat-message-user .chat-text-wrapper .chat-text{background:#E74C3C;color:#fff;float:right}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message .chat-user-profile{height:34px;width:34px;position:absolute;left:5px;display:block}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message .chat-user-profile img{height:34px;width:34px;border-radius:5px}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message .chat-text-wrapper{display:block;margin-left:45px;float:left;max-width:175px;width:100%}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message .chat-text-wrapper .chat-text{display:block;width:auto;max-width:175px;background:#fff;float:left;margin-left:6px;border:1px solid rgba(0,0,0,.18);border-radius:4px;color:#3e454c;min-height:14px;padding:4px 6px 3px 5px;position:relative;text-align:left;word-wrap:break-word}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message .chat-text-wrapper .chat-text:after{content:'';position:absolute;width:8px;height:13px;top:5px;right:100%;background:url(/img/chat-arrow.png) no-repeat #fff;background-size:auto}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message .chat-text-wrapper .chat-text .chat-text-inner{text-align:left;font-size:12px;min-height:16px;line-height:1.28em}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-message .chat-text-wrapper .chat-text.chat-text-user:after{content:'';position:absolute;width:8px;height:13px;top:5px;left:100%;background:url(/img/chat-arrow.png) 0 -13px no-repeat #E74C3C}.chat-dock .chat-box-wrapper .chat-box .chat-box-messages .chat-box-deletedAt{font-family:"Source Sans Pro",sans-serif;font-size:11px;color:#888;margin-bottom:5px;text-align:center}.chart-caption h4,.circle-chart-caption span{font-family:Roboto,"Open Sans",sans-serif}.circle-chart-wrapper{margin-bottom:15px}.circle-chart-caption{width:100%;text-align:center;margin-bottom:25px}.circle-chart-caption span{display:inline-block;width:100%;font-size:14px;font-weight:500}.circle-chart-caption span img{display:inline-block;margin-left:7px;margin-right:7px;position:relative;top:-1px}#ticketLines .flot-x-axis{top:10px!important}#ticketLines .flot-y-axis div:first-child{display:none;visibility:hidden}.chart-caption h4{font-weight:400;display:block;font-size:16px;text-align:center;color:#3e5871;margin:0}.donutchart .chart-value,.donutchart-caption{font-family:"Roboto Condensed",sans-serif;font-weight:700;color:#444}.donutchart-wrapper{position:relative;width:33.333333%;text-align:center;float:left;margin-bottom:30px}.donutchart{position:relative;display:inline-block;height:150px;width:150px;text-align:center;margin:0 auto}.donutchart canvas{position:absolute;top:0;left:0}.donutchart .chart-value{position:relative;display:inline-block;line-height:125px;z-index:2;font-size:48px;text-align:center}.donutchart .chart-value.percent{padding-right:22px}.donutchart .chart-value.percent:after{content:'%';position:absolute;right:0;top:38px;margin-left:.1em;font-size:30px;line-height:normal}.donutchart-caption{position:absolute;top:85px;left:0;width:100%;font-size:22px;text-align:center!important;font-variant:small-caps}.bar-chart-wrapper{position:relative;padding-bottom:10px;width:100%;margin:0 auto}.bar-chart-wrapper .bar-chart{position:relative;width:350px;margin:0 auto 40px;text-align:center}.bar-chart-wrapper .bar-chart .bar{position:relative;display:inline-block;float:left;width:15px;height:170px;border-radius:2px;background:#e3e5e8;margin-right:10px}.bar-chart-wrapper .bar-chart .bar .bar-track{position:absolute;bottom:0;left:0;content:'';display:block;height:100px;width:100%;background:#E74C3C;border-radius:2px}.bar-chart-wrapper .bar-axis ul.x-axis li,.bar-chart-wrapper .bar-axis ul.y-axis li,.bar-chart-wrapper .bar-chart .bar .bar-label{color:#444;font-weight:700;text-align:center;width:15px;font-variant:small-caps;font-family:Roboto,"Open Sans",sans-serif;font-size:14px}.bar-chart-wrapper .bar-chart .bar .bar-track:hover{background:#c43627}.bar-chart-wrapper .bar-chart .bar .bar-label{position:absolute;bottom:-20px;left:0}.bar-chart-wrapper .bar-axis ul.x-axis,.bar-chart-wrapper .bar-axis ul.y-axis{margin:0;padding:0;position:absolute;bottom:0;left:40px;list-style:none}.bar-chart-wrapper .bar-axis ul.x-axis li,.bar-chart-wrapper .bar-axis ul.y-axis li{margin-right:6px}.bar-chart-wrapper .bar-axis ul.y-axis{left:-35px;bottom:0;height:170px}.bar-chart-wrapper .bar-axis ul.y-axis li{position:relative;text-align:right;width:auto;margin:0 0 17px;font-family:Roboto,"Open Sans",sans-serif}#flotTip,.bar-chart-caption span{text-align:center;font-weight:500}.bar-chart-caption span{display:inline-block;width:100%;font-family:Roboto,"Open Sans",sans-serif;font-size:14px}#flotTip{width:150px;min-height:45px;background:#223140!important;padding:7px 0;border-radius:5px;color:#fff;font-family:"source sans pro",sans-serif;font-size:12px}#flotTip:after,#flotTip:before{position:absolute;top:100%;left:50%;border:solid transparent;content:" ";height:0;width:0;pointer-events:none}#flotTip:before{border-color:rgba(34,49,64,0);border-top-color:#223140;border-width:11px;margin-left:-11px}#flotTip:after{border-color:rgba(34,49,64,0);border-top-color:#223140;border-width:5px;margin-left:-5px}#flotTip span{display:block;font-family:"Source Sans Pro",sans-serif;font-weight:400;font-size:12px!important;color:#fff;margin-bottom:5px}#flotTip span:last-child,.fc .fc-toolbar,.fc .fc-widget-header table{margin-bottom:0}#flotTip span:first-child{font-weight:600}#flotTip span span{display:inline!important}.fc{font-family:"open sans",sans-serif;padding:0 15px 0 30px}.fc .fc-toolbar h2{display:inline-block;font-size:24px;height:65px;line-height:65px;color:#344b61}.fc .fc-toolbar button{display:block;font-family:"Source Sans Pro",sans-serif;font-weight:600;font-size:14px;margin:18px 5px 0 0;padding:4px 16px;border-radius:3px;background:#E74C3C;border-color:rgba(0,0,0,.1);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);outline:0}.fc .fc-toolbar button:hover{background:#ea6153;color:#fff}.fc table{background:#e5e8f0}.fc .fc-content-skeleton table{background:0 0}.fc.fc-unthemed .fc-popover,.fc.fc-unthemed .fc-row,.fc.fc-unthemed hr,.fc.fc-unthemed tbody,.fc.fc-unthemed td,.fc.fc-unthemed th,.fc.fc-unthemed thead{border-color:#b5bbc9}.fc.fc-unthemed thead{background:#c4c9d4}.fc.fc-unthemed .fc-bg .fc-today{background:#fff}.fc .fc-event,.fc .fc-event .fc-content{background:#E74C3C}.fc .fc-event{border-color:#e43725}.search-container{max-height:300px;height:auto;width:100%;vertical-align:middle;white-space:nowrap}.search-container .chosen-container,.search-container input[type=text],.search-container select{width:100%;float:left;padding-right:49px}.search-container input[type=text][disabled]{background:#eceff6}.search-container .chosen-container .chosen-choices{border:1px solid #9aa1ad;border-radius:0}.search-container .chosen-container-multi .chosen-choices li.search-choice{padding:0 25px 0 7px;background:#a7b5d5}.search-container .chosen-container-multi .chosen-choices li.search-choice span{color:#fff;line-height:27px}.search-container .chosen-container .chosen-results li.highlighted{background:#b8c3dd;color:#55616e}.search-container button{padding:5px 10px;height:36px;width:50px;margin-left:-50px;background:#d0d8e9;border:1px solid #9aa1ad;border-left:none;border-radius:0 3px 3px 0;z-index:999;cursor:pointer;position:relative}.search-container button i{color:#55616e}.chosen-container .chosen-drop{box-shadow:none}.chosen-container .chosen-results li.highlighted{background:#ea6153}.chosen-container-single .chosen-single{background:#f3f5f9;border:1px solid #bec4d0;box-shadow:none;border-radius:3px;font-size:12px}.chosen-container-single .chosen-drop{background:#e2e7f1;border-color:#bec4d0;border-radius:0 0 3px 3px;font-size:12px}.chosen-container-single .chosen-drop .chosen-results li{line-height:normal;font-size:12px;padding:3px 4px}.chosen-container-active.chosen-with-drop .chosen-single{border:1px solid #bec4d0;box-shadow:none;background-image:none}.chosen-container-multi{width:100%!important}.chosen-container-multi .chosen-choices{border:1px solid #9aa1ad;background:#eceff6;min-height:2.3125rem!important}.chosen-container-multi .chosen-choices li.search-choice{background:#ea6153;border:none;color:#fff;font-size:13px;padding:3px 25px 3px 10px;box-shadow:none}.chosen-container-multi .chosen-choices li.search-choice span{color:#fff}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{top:9px;right:5px}.chosen-container-multi .chosen-choices li.search-field input[type=text]{height:32px;margin-left:2px}#gMembers_chosen li.search-choice,#gSendMailTo_chosen li.search-choice{padding:8px 25px 8px 8px}.chosen-container-active .chosen-choices{border:1px solid #9aa1ad;background:#fff;box-shadow:none}.onoffswitch{position:relative;width:85px!important;-moz-user-select:none}.onoffswitch.subscribeSwitch{width:100px!important}.onoffswitch-checkbox{display:none}.onoffswitch-label{display:block!important;margin:auto!important;overflow:hidden;cursor:pointer;border:1px solid #dae0ec;border-radius:5px;width:100%!important}.onoffswitch-inner{display:block;width:200%;margin-left:-100%;transition:margin .3s ease-in 0s}.onoffswitch-inner:after,.onoffswitch-inner:before{display:block;float:left;width:50%;height:28px;padding:0;line-height:28px;font-size:11px;font-family:Trebuchet,Arial,sans-serif;font-weight:700;box-sizing:border-box}.onoffswitch-inner:before{content:"Refresh";padding-left:7px;background-color:#E74C3C;color:#FFF}.subscribeSwitch-inner:before{content:"Subscribe";background-color:#29b955}.onSwitch-inner:before{content:"On";background-color:#29b955}.onoffswitch-inner:after{content:"OFF";padding-right:7px;background-color:#f5f5f5;color:#999;text-align:right}.onoffswitch-switch{display:block;width:28px;margin:0;background:#fff;position:absolute;top:0;bottom:0;right:57px;border:1px solid #dae0ec;border-radius:5px;transition:all .3s ease-in 0s}.onoffswitch-switch.subscribeSwitch-switch{right:72px}.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-inner{margin-left:0}.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-switch{right:-2px}.mGraph .mg-histogram .axis text,.mGraph .mg-x-axis text,.mGraph .mg-y-axis text{font-size:11px}.mGraph .mg-active-datapoint{font-size:13px}.mGraph-panel{padding-bottom:20px}.mGraph .mg-line1-color{stroke:#29b955}.mGraph .mg-area1-color{fill:#2ece5f}.mGraph.graph-blue .mg-line1-color{stroke:#1976d2}.mGraph.graph-blue .mg-area1-color{fill:#378fe7}.materialize-red.lighten-5{background-color:#fdeaeb!important}.materialize-red-text.text-lighten-5{color:#fdeaeb!important}.materialize-red.lighten-4{background-color:#f8c1c3!important}.materialize-red-text.text-lighten-4{color:#f8c1c3!important}.materialize-red.lighten-3{background-color:#f3989b!important}.materialize-red-text.text-lighten-3{color:#f3989b!important}.materialize-red.lighten-2{background-color:#ee6e73!important}.materialize-red-text.text-lighten-2{color:#ee6e73!important}.materialize-red.lighten-1{background-color:#ea454b!important}.materialize-red-text.text-lighten-1{color:#ea454b!important}.materialize-red{background-color:#e51c23!important}.materialize-red-text{color:#e51c23!important}.materialize-red.darken-1{background-color:#d0181e!important}.materialize-red-text.text-darken-1{color:#d0181e!important}.materialize-red.darken-2{background-color:#b9151b!important}.materialize-red-text.text-darken-2{color:#b9151b!important}.materialize-red.darken-3{background-color:#a21318!important}.materialize-red-text.text-darken-3{color:#a21318!important}.materialize-red.darken-4{background-color:#8b1014!important}.materialize-red-text.text-darken-4{color:#8b1014!important}.red.lighten-5{background-color:#FFEBEE!important}.red-text.text-lighten-5{color:#FFEBEE!important}.red.lighten-4{background-color:#FFCDD2!important}.red-text.text-lighten-4{color:#FFCDD2!important}.red.lighten-3{background-color:#EF9A9A!important}.red-text.text-lighten-3{color:#EF9A9A!important}.red.lighten-2{background-color:#E57373!important}.red-text.text-lighten-2{color:#E57373!important}.red.lighten-1{background-color:#EF5350!important}.red-text.text-lighten-1{color:#EF5350!important}.red{background-color:#F44336!important}.red-text{color:#F44336!important}.red.darken-1{background-color:#E53935!important}.red-text.text-darken-1{color:#E53935!important}.red.darken-2{background-color:#D32F2F!important}.red-text.text-darken-2{color:#D32F2F!important}.red.darken-3{background-color:#C62828!important}.red-text.text-darken-3{color:#C62828!important}.red.darken-4{background-color:#B71C1C!important}.red-text.text-darken-4{color:#B71C1C!important}.red.accent-1{background-color:#FF8A80!important}.red-text.text-accent-1{color:#FF8A80!important}.red.accent-2{background-color:#FF5252!important}.red-text.text-accent-2{color:#FF5252!important}.red.accent-3{background-color:#FF1744!important}.red-text.text-accent-3{color:#FF1744!important}.red.accent-4{background-color:#D50000!important}.red-text.text-accent-4{color:#D50000!important}.pink.lighten-5{background-color:#fce4ec!important}.pink-text.text-lighten-5{color:#fce4ec!important}.pink.lighten-4{background-color:#f8bbd0!important}.pink-text.text-lighten-4{color:#f8bbd0!important}.pink.lighten-3{background-color:#f48fb1!important}.pink-text.text-lighten-3{color:#f48fb1!important}.pink.lighten-2{background-color:#f06292!important}.pink-text.text-lighten-2{color:#f06292!important}.pink.lighten-1{background-color:#ec407a!important}.pink-text.text-lighten-1{color:#ec407a!important}.pink{background-color:#e91e63!important}.pink-text{color:#e91e63!important}.pink.darken-1{background-color:#d81b60!important}.pink-text.text-darken-1{color:#d81b60!important}.pink.darken-2{background-color:#c2185b!important}.pink-text.text-darken-2{color:#c2185b!important}.pink.darken-3{background-color:#ad1457!important}.pink-text.text-darken-3{color:#ad1457!important}.pink.darken-4{background-color:#880e4f!important}.pink-text.text-darken-4{color:#880e4f!important}.pink.accent-1{background-color:#ff80ab!important}.pink-text.text-accent-1{color:#ff80ab!important}.pink.accent-2{background-color:#ff4081!important}.pink-text.text-accent-2{color:#ff4081!important}.pink.accent-3{background-color:#f50057!important}.pink-text.text-accent-3{color:#f50057!important}.pink.accent-4{background-color:#c51162!important}.pink-text.text-accent-4{color:#c51162!important}.purple.lighten-5{background-color:#f3e5f5!important}.purple-text.text-lighten-5{color:#f3e5f5!important}.purple.lighten-4{background-color:#e1bee7!important}.purple-text.text-lighten-4{color:#e1bee7!important}.purple.lighten-3{background-color:#ce93d8!important}.purple-text.text-lighten-3{color:#ce93d8!important}.purple.lighten-2{background-color:#ba68c8!important}.purple-text.text-lighten-2{color:#ba68c8!important}.purple.lighten-1{background-color:#ab47bc!important}.purple-text.text-lighten-1{color:#ab47bc!important}.purple{background-color:#9c27b0!important}.purple-text{color:#9c27b0!important}.purple.darken-1{background-color:#8e24aa!important}.purple-text.text-darken-1{color:#8e24aa!important}.purple.darken-2{background-color:#7b1fa2!important}.purple-text.text-darken-2{color:#7b1fa2!important}.purple.darken-3{background-color:#6a1b9a!important}.purple-text.text-darken-3{color:#6a1b9a!important}.purple.darken-4{background-color:#4a148c!important}.purple-text.text-darken-4{color:#4a148c!important}.purple.accent-1{background-color:#ea80fc!important}.purple-text.text-accent-1{color:#ea80fc!important}.purple.accent-2{background-color:#e040fb!important}.purple-text.text-accent-2{color:#e040fb!important}.purple.accent-3{background-color:#d500f9!important}.purple-text.text-accent-3{color:#d500f9!important}.purple.accent-4{background-color:#a0f!important}.purple-text.text-accent-4{color:#a0f!important}.deep-purple.lighten-5{background-color:#ede7f6!important}.deep-purple-text.text-lighten-5{color:#ede7f6!important}.deep-purple.lighten-4{background-color:#d1c4e9!important}.deep-purple-text.text-lighten-4{color:#d1c4e9!important}.deep-purple.lighten-3{background-color:#b39ddb!important}.deep-purple-text.text-lighten-3{color:#b39ddb!important}.deep-purple.lighten-2{background-color:#9575cd!important}.deep-purple-text.text-lighten-2{color:#9575cd!important}.deep-purple.lighten-1{background-color:#7e57c2!important}.deep-purple-text.text-lighten-1{color:#7e57c2!important}.deep-purple{background-color:#673ab7!important}.deep-purple-text{color:#673ab7!important}.deep-purple.darken-1{background-color:#5e35b1!important}.deep-purple-text.text-darken-1{color:#5e35b1!important}.deep-purple.darken-2{background-color:#512da8!important}.deep-purple-text.text-darken-2{color:#512da8!important}.deep-purple.darken-3{background-color:#4527a0!important}.deep-purple-text.text-darken-3{color:#4527a0!important}.deep-purple.darken-4{background-color:#311b92!important}.deep-purple-text.text-darken-4{color:#311b92!important}.deep-purple.accent-1{background-color:#b388ff!important}.deep-purple-text.text-accent-1{color:#b388ff!important}.deep-purple.accent-2{background-color:#7c4dff!important}.deep-purple-text.text-accent-2{color:#7c4dff!important}.deep-purple.accent-3{background-color:#651fff!important}.deep-purple-text.text-accent-3{color:#651fff!important}.deep-purple.accent-4{background-color:#6200ea!important}.deep-purple-text.text-accent-4{color:#6200ea!important}.indigo.lighten-5{background-color:#e8eaf6!important}.indigo-text.text-lighten-5{color:#e8eaf6!important}.indigo.lighten-4{background-color:#c5cae9!important}.indigo-text.text-lighten-4{color:#c5cae9!important}.indigo.lighten-3{background-color:#9fa8da!important}.indigo-text.text-lighten-3{color:#9fa8da!important}.indigo.lighten-2{background-color:#7986cb!important}.indigo-text.text-lighten-2{color:#7986cb!important}.indigo.lighten-1{background-color:#5c6bc0!important}.indigo-text.text-lighten-1{color:#5c6bc0!important}.indigo{background-color:#3f51b5!important}.indigo-text{color:#3f51b5!important}.indigo.darken-1{background-color:#3949ab!important}.indigo-text.text-darken-1{color:#3949ab!important}.indigo.darken-2{background-color:#303f9f!important}.indigo-text.text-darken-2{color:#303f9f!important}.indigo.darken-3{background-color:#283593!important}.indigo-text.text-darken-3{color:#283593!important}.indigo.darken-4{background-color:#1a237e!important}.indigo-text.text-darken-4{color:#1a237e!important}.indigo.accent-1{background-color:#8c9eff!important}.indigo-text.text-accent-1{color:#8c9eff!important}.indigo.accent-2{background-color:#536dfe!important}.indigo-text.text-accent-2{color:#536dfe!important}.indigo.accent-3{background-color:#3d5afe!important}.indigo-text.text-accent-3{color:#3d5afe!important}.indigo.accent-4{background-color:#304ffe!important}.indigo-text.text-accent-4{color:#304ffe!important}.blue.lighten-5{background-color:#E3F2FD!important}.blue-text.text-lighten-5{color:#E3F2FD!important}.blue.lighten-4{background-color:#BBDEFB!important}.blue-text.text-lighten-4{color:#BBDEFB!important}.blue.lighten-3{background-color:#90CAF9!important}.blue-text.text-lighten-3{color:#90CAF9!important}.blue.lighten-2{background-color:#64B5F6!important}.blue-text.text-lighten-2{color:#64B5F6!important}.blue.lighten-1{background-color:#42A5F5!important}.blue-text.text-lighten-1{color:#42A5F5!important}.blue{background-color:#2196F3!important}.blue-text{color:#2196F3!important}.blue.darken-1{background-color:#1E88E5!important}.blue-text.text-darken-1{color:#1E88E5!important}.blue.darken-2{background-color:#1976D2!important}.blue-text.text-darken-2{color:#1976D2!important}.blue.darken-3{background-color:#1565C0!important}.blue-text.text-darken-3{color:#1565C0!important}.blue.darken-4{background-color:#0D47A1!important}.blue-text.text-darken-4{color:#0D47A1!important}.blue.accent-1{background-color:#82B1FF!important}.blue-text.text-accent-1{color:#82B1FF!important}.blue.accent-2{background-color:#448AFF!important}.blue-text.text-accent-2{color:#448AFF!important}.blue.accent-3{background-color:#2979FF!important}.blue-text.text-accent-3{color:#2979FF!important}.blue.accent-4{background-color:#2962FF!important}.blue-text.text-accent-4{color:#2962FF!important}.light-blue.lighten-5{background-color:#e1f5fe!important}.light-blue-text.text-lighten-5{color:#e1f5fe!important}.light-blue.lighten-4{background-color:#b3e5fc!important}.light-blue-text.text-lighten-4{color:#b3e5fc!important}.light-blue.lighten-3{background-color:#81d4fa!important}.light-blue-text.text-lighten-3{color:#81d4fa!important}.light-blue.lighten-2{background-color:#4fc3f7!important}.light-blue-text.text-lighten-2{color:#4fc3f7!important}.light-blue.lighten-1{background-color:#29b6f6!important}.light-blue-text.text-lighten-1{color:#29b6f6!important}.light-blue{background-color:#03a9f4!important}.light-blue-text{color:#03a9f4!important}.light-blue.darken-1{background-color:#039be5!important}.light-blue-text.text-darken-1{color:#039be5!important}.light-blue.darken-2{background-color:#0288d1!important}.light-blue-text.text-darken-2{color:#0288d1!important}.light-blue.darken-3{background-color:#0277bd!important}.light-blue-text.text-darken-3{color:#0277bd!important}.light-blue.darken-4{background-color:#01579b!important}.light-blue-text.text-darken-4{color:#01579b!important}.light-blue.accent-1{background-color:#80d8ff!important}.light-blue-text.text-accent-1{color:#80d8ff!important}.light-blue.accent-2{background-color:#40c4ff!important}.light-blue-text.text-accent-2{color:#40c4ff!important}.light-blue.accent-3{background-color:#00b0ff!important}.light-blue-text.text-accent-3{color:#00b0ff!important}.light-blue.accent-4{background-color:#0091ea!important}.light-blue-text.text-accent-4{color:#0091ea!important}.cyan.lighten-5{background-color:#e0f7fa!important}.cyan-text.text-lighten-5{color:#e0f7fa!important}.cyan.lighten-4{background-color:#b2ebf2!important}.cyan-text.text-lighten-4{color:#b2ebf2!important}.cyan.lighten-3{background-color:#80deea!important}.cyan-text.text-lighten-3{color:#80deea!important}.cyan.lighten-2{background-color:#4dd0e1!important}.cyan-text.text-lighten-2{color:#4dd0e1!important}.cyan.lighten-1{background-color:#26c6da!important}.cyan-text.text-lighten-1{color:#26c6da!important}.cyan{background-color:#00bcd4!important}.cyan-text{color:#00bcd4!important}.cyan.darken-1{background-color:#00acc1!important}.cyan-text.text-darken-1{color:#00acc1!important}.cyan.darken-2{background-color:#0097a7!important}.cyan-text.text-darken-2{color:#0097a7!important}.cyan.darken-3{background-color:#00838f!important}.cyan-text.text-darken-3{color:#00838f!important}.cyan.darken-4{background-color:#006064!important}.cyan-text.text-darken-4{color:#006064!important}.cyan.accent-1{background-color:#84ffff!important}.cyan-text.text-accent-1{color:#84ffff!important}.cyan.accent-2{background-color:#18ffff!important}.cyan-text.text-accent-2{color:#18ffff!important}.cyan.accent-3{background-color:#00e5ff!important}.cyan-text.text-accent-3{color:#00e5ff!important}.cyan.accent-4{background-color:#00b8d4!important}.cyan-text.text-accent-4{color:#00b8d4!important}.teal.lighten-5{background-color:#e0f2f1!important}.teal-text.text-lighten-5{color:#e0f2f1!important}.teal.lighten-4{background-color:#b2dfdb!important}.teal-text.text-lighten-4{color:#b2dfdb!important}.teal.lighten-3{background-color:#80cbc4!important}.teal-text.text-lighten-3{color:#80cbc4!important}.teal.lighten-2{background-color:#4db6ac!important}.teal-text.text-lighten-2{color:#4db6ac!important}.teal.lighten-1{background-color:#26a69a!important}.teal-text.text-lighten-1{color:#26a69a!important}.teal{background-color:#009688!important}.teal-text{color:#009688!important}.teal.darken-1{background-color:#00897b!important}.teal-text.text-darken-1{color:#00897b!important}.teal.darken-2{background-color:#00796b!important}.teal-text.text-darken-2{color:#00796b!important}.teal.darken-3{background-color:#00695c!important}.teal-text.text-darken-3{color:#00695c!important}.teal.darken-4{background-color:#004d40!important}.teal-text.text-darken-4{color:#004d40!important}.teal.accent-1{background-color:#a7ffeb!important}.teal-text.text-accent-1{color:#a7ffeb!important}.teal.accent-2{background-color:#64ffda!important}.teal-text.text-accent-2{color:#64ffda!important}.teal.accent-3{background-color:#1de9b6!important}.teal-text.text-accent-3{color:#1de9b6!important}.teal.accent-4{background-color:#00bfa5!important}.teal-text.text-accent-4{color:#00bfa5!important}.green.lighten-5{background-color:#E8F5E9!important}.green-text.text-lighten-5{color:#E8F5E9!important}.green.lighten-4{background-color:#C8E6C9!important}.green-text.text-lighten-4{color:#C8E6C9!important}.green.lighten-3{background-color:#A5D6A7!important}.green-text.text-lighten-3{color:#A5D6A7!important}.green.lighten-2{background-color:#81C784!important}.green-text.text-lighten-2{color:#81C784!important}.green.lighten-1{background-color:#66BB6A!important}.green-text.text-lighten-1{color:#66BB6A!important}.green{background-color:#4CAF50!important}.green-text{color:#4CAF50!important}.green.darken-1{background-color:#43A047!important}.green-text.text-darken-1{color:#43A047!important}.green.darken-2{background-color:#388E3C!important}.green-text.text-darken-2{color:#388E3C!important}.green.darken-3{background-color:#2E7D32!important}.green-text.text-darken-3{color:#2E7D32!important}.green.darken-4{background-color:#1B5E20!important}.green-text.text-darken-4{color:#1B5E20!important}.green.accent-1{background-color:#B9F6CA!important}.green-text.text-accent-1{color:#B9F6CA!important}.green.accent-2{background-color:#69F0AE!important}.green-text.text-accent-2{color:#69F0AE!important}.green.accent-3{background-color:#00E676!important}.green-text.text-accent-3{color:#00E676!important}.green.accent-4{background-color:#00C853!important}.green-text.text-accent-4{color:#00C853!important}.light-green.lighten-5{background-color:#f1f8e9!important}.light-green-text.text-lighten-5{color:#f1f8e9!important}.light-green.lighten-4{background-color:#dcedc8!important}.light-green-text.text-lighten-4{color:#dcedc8!important}.light-green.lighten-3{background-color:#c5e1a5!important}.light-green-text.text-lighten-3{color:#c5e1a5!important}.light-green.lighten-2{background-color:#aed581!important}.light-green-text.text-lighten-2{color:#aed581!important}.light-green.lighten-1{background-color:#9ccc65!important}.light-green-text.text-lighten-1{color:#9ccc65!important}.light-green{background-color:#8bc34a!important}.light-green-text{color:#8bc34a!important}.light-green.darken-1{background-color:#7cb342!important}.light-green-text.text-darken-1{color:#7cb342!important}.light-green.darken-2{background-color:#689f38!important}.light-green-text.text-darken-2{color:#689f38!important}.light-green.darken-3{background-color:#558b2f!important}.light-green-text.text-darken-3{color:#558b2f!important}.light-green.darken-4{background-color:#33691e!important}.light-green-text.text-darken-4{color:#33691e!important}.light-green.accent-1{background-color:#ccff90!important}.light-green-text.text-accent-1{color:#ccff90!important}.light-green.accent-2{background-color:#b2ff59!important}.light-green-text.text-accent-2{color:#b2ff59!important}.light-green.accent-3{background-color:#76ff03!important}.light-green-text.text-accent-3{color:#76ff03!important}.light-green.accent-4{background-color:#64dd17!important}.light-green-text.text-accent-4{color:#64dd17!important}.lime.lighten-5{background-color:#f9fbe7!important}.lime-text.text-lighten-5{color:#f9fbe7!important}.lime.lighten-4{background-color:#f0f4c3!important}.lime-text.text-lighten-4{color:#f0f4c3!important}.lime.lighten-3{background-color:#e6ee9c!important}.lime-text.text-lighten-3{color:#e6ee9c!important}.lime.lighten-2{background-color:#dce775!important}.lime-text.text-lighten-2{color:#dce775!important}.lime.lighten-1{background-color:#d4e157!important}.lime-text.text-lighten-1{color:#d4e157!important}.lime{background-color:#cddc39!important}.lime-text{color:#cddc39!important}.lime.darken-1{background-color:#c0ca33!important}.lime-text.text-darken-1{color:#c0ca33!important}.lime.darken-2{background-color:#afb42b!important}.lime-text.text-darken-2{color:#afb42b!important}.lime.darken-3{background-color:#9e9d24!important}.lime-text.text-darken-3{color:#9e9d24!important}.lime.darken-4{background-color:#827717!important}.lime-text.text-darken-4{color:#827717!important}.lime.accent-1{background-color:#f4ff81!important}.lime-text.text-accent-1{color:#f4ff81!important}.lime.accent-2{background-color:#eeff41!important}.lime-text.text-accent-2{color:#eeff41!important}.lime.accent-3{background-color:#c6ff00!important}.lime-text.text-accent-3{color:#c6ff00!important}.lime.accent-4{background-color:#aeea00!important}.lime-text.text-accent-4{color:#aeea00!important}.yellow.lighten-5{background-color:#fffde7!important}.yellow-text.text-lighten-5{color:#fffde7!important}.yellow.lighten-4{background-color:#fff9c4!important}.yellow-text.text-lighten-4{color:#fff9c4!important}.yellow.lighten-3{background-color:#fff59d!important}.yellow-text.text-lighten-3{color:#fff59d!important}.yellow.lighten-2{background-color:#fff176!important}.yellow-text.text-lighten-2{color:#fff176!important}.yellow.lighten-1{background-color:#ffee58!important}.yellow-text.text-lighten-1{color:#ffee58!important}.yellow{background-color:#ffeb3b!important}.yellow-text{color:#ffeb3b!important}.yellow.darken-1{background-color:#fdd835!important}.yellow-text.text-darken-1{color:#fdd835!important}.yellow.darken-2{background-color:#fbc02d!important}.yellow-text.text-darken-2{color:#fbc02d!important}.yellow.darken-3{background-color:#f9a825!important}.yellow-text.text-darken-3{color:#f9a825!important}.yellow.darken-4{background-color:#f57f17!important}.yellow-text.text-darken-4{color:#f57f17!important}.yellow.accent-1{background-color:#ffff8d!important}.yellow-text.text-accent-1{color:#ffff8d!important}.yellow.accent-2{background-color:#ff0!important}.yellow-text.text-accent-2{color:#ff0!important}.yellow.accent-3{background-color:#ffea00!important}.yellow-text.text-accent-3{color:#ffea00!important}.yellow.accent-4{background-color:#ffd600!important}.yellow-text.text-accent-4{color:#ffd600!important}.amber.lighten-5{background-color:#fff8e1!important}.amber-text.text-lighten-5{color:#fff8e1!important}.amber.lighten-4{background-color:#ffecb3!important}.amber-text.text-lighten-4{color:#ffecb3!important}.amber.lighten-3{background-color:#ffe082!important}.amber-text.text-lighten-3{color:#ffe082!important}.amber.lighten-2{background-color:#ffd54f!important}.amber-text.text-lighten-2{color:#ffd54f!important}.amber.lighten-1{background-color:#ffca28!important}.amber-text.text-lighten-1{color:#ffca28!important}.amber{background-color:#ffc107!important}.amber-text{color:#ffc107!important}.amber.darken-1{background-color:#ffb300!important}.amber-text.text-darken-1{color:#ffb300!important}.amber.darken-2{background-color:#ffa000!important}.amber-text.text-darken-2{color:#ffa000!important}.amber.darken-3{background-color:#ff8f00!important}.amber-text.text-darken-3{color:#ff8f00!important}.amber.darken-4{background-color:#ff6f00!important}.amber-text.text-darken-4{color:#ff6f00!important}.amber.accent-1{background-color:#ffe57f!important}.amber-text.text-accent-1{color:#ffe57f!important}.amber.accent-2{background-color:#ffd740!important}.amber-text.text-accent-2{color:#ffd740!important}.amber.accent-3{background-color:#ffc400!important}.amber-text.text-accent-3{color:#ffc400!important}.amber.accent-4{background-color:#ffab00!important}.amber-text.text-accent-4{color:#ffab00!important}.orange.lighten-5{background-color:#fff3e0!important}.orange-text.text-lighten-5{color:#fff3e0!important}.orange.lighten-4{background-color:#ffe0b2!important}.orange-text.text-lighten-4{color:#ffe0b2!important}.orange.lighten-3{background-color:#ffcc80!important}.orange-text.text-lighten-3{color:#ffcc80!important}.orange.lighten-2{background-color:#ffb74d!important}.orange-text.text-lighten-2{color:#ffb74d!important}.orange.lighten-1{background-color:#ffa726!important}.orange-text.text-lighten-1{color:#ffa726!important}.orange{background-color:#ff9800!important}.orange-text{color:#ff9800!important}.orange.darken-1{background-color:#fb8c00!important}.orange-text.text-darken-1{color:#fb8c00!important}.orange.darken-2{background-color:#f57c00!important}.orange-text.text-darken-2{color:#f57c00!important}.orange.darken-3{background-color:#ef6c00!important}.orange-text.text-darken-3{color:#ef6c00!important}.orange.darken-4{background-color:#e65100!important}.orange-text.text-darken-4{color:#e65100!important}.orange.accent-1{background-color:#ffd180!important}.orange-text.text-accent-1{color:#ffd180!important}.orange.accent-2{background-color:#ffab40!important}.orange-text.text-accent-2{color:#ffab40!important}.orange.accent-3{background-color:#ff9100!important}.orange-text.text-accent-3{color:#ff9100!important}.orange.accent-4{background-color:#ff6d00!important}.orange-text.text-accent-4{color:#ff6d00!important}.deep-orange.lighten-5{background-color:#fbe9e7!important}.deep-orange-text.text-lighten-5{color:#fbe9e7!important}.deep-orange.lighten-4{background-color:#ffccbc!important}.deep-orange-text.text-lighten-4{color:#ffccbc!important}.deep-orange.lighten-3{background-color:#ffab91!important}.deep-orange-text.text-lighten-3{color:#ffab91!important}.deep-orange.lighten-2{background-color:#ff8a65!important}.deep-orange-text.text-lighten-2{color:#ff8a65!important}.deep-orange.lighten-1{background-color:#ff7043!important}.deep-orange-text.text-lighten-1{color:#ff7043!important}.deep-orange{background-color:#ff5722!important}.deep-orange-text{color:#ff5722!important}.deep-orange.darken-1{background-color:#f4511e!important}.deep-orange-text.text-darken-1{color:#f4511e!important}.deep-orange.darken-2{background-color:#e64a19!important}.deep-orange-text.text-darken-2{color:#e64a19!important}.deep-orange.darken-3{background-color:#d84315!important}.deep-orange-text.text-darken-3{color:#d84315!important}.deep-orange.darken-4{background-color:#bf360c!important}.deep-orange-text.text-darken-4{color:#bf360c!important}.deep-orange.accent-1{background-color:#ff9e80!important}.deep-orange-text.text-accent-1{color:#ff9e80!important}.deep-orange.accent-2{background-color:#ff6e40!important}.deep-orange-text.text-accent-2{color:#ff6e40!important}.deep-orange.accent-3{background-color:#ff3d00!important}.deep-orange-text.text-accent-3{color:#ff3d00!important}.deep-orange.accent-4{background-color:#dd2c00!important}.deep-orange-text.text-accent-4{color:#dd2c00!important}.brown.lighten-5{background-color:#efebe9!important}.brown-text.text-lighten-5{color:#efebe9!important}.brown.lighten-4{background-color:#d7ccc8!important}.brown-text.text-lighten-4{color:#d7ccc8!important}.brown.lighten-3{background-color:#bcaaa4!important}.brown-text.text-lighten-3{color:#bcaaa4!important}.brown.lighten-2{background-color:#a1887f!important}.brown-text.text-lighten-2{color:#a1887f!important}.brown.lighten-1{background-color:#8d6e63!important}.brown-text.text-lighten-1{color:#8d6e63!important}.brown{background-color:#795548!important}.brown-text{color:#795548!important}.brown.darken-1{background-color:#6d4c41!important}.brown-text.text-darken-1{color:#6d4c41!important}.brown.darken-2{background-color:#5d4037!important}.brown-text.text-darken-2{color:#5d4037!important}.brown.darken-3{background-color:#4e342e!important}.brown-text.text-darken-3{color:#4e342e!important}.brown.darken-4{background-color:#3e2723!important}.brown-text.text-darken-4{color:#3e2723!important}.blue-grey.lighten-5{background-color:#eceff1!important}.blue-grey-text.text-lighten-5{color:#eceff1!important}.blue-grey.lighten-4{background-color:#cfd8dc!important}.blue-grey-text.text-lighten-4{color:#cfd8dc!important}.blue-grey.lighten-3{background-color:#b0bec5!important}.blue-grey-text.text-lighten-3{color:#b0bec5!important}.blue-grey.lighten-2{background-color:#90a4ae!important}.blue-grey-text.text-lighten-2{color:#90a4ae!important}.blue-grey.lighten-1{background-color:#78909c!important}.blue-grey-text.text-lighten-1{color:#78909c!important}.blue-grey{background-color:#607d8b!important}.blue-grey-text{color:#607d8b!important}.blue-grey.darken-1{background-color:#546e7a!important}.blue-grey-text.text-darken-1{color:#546e7a!important}.blue-grey.darken-2{background-color:#455a64!important}.blue-grey-text.text-darken-2{color:#455a64!important}.blue-grey.darken-3{background-color:#37474f!important}.blue-grey-text.text-darken-3{color:#37474f!important}.blue-grey.darken-4{background-color:#263238!important}.blue-grey-text.text-darken-4{color:#263238!important}.grey.lighten-5{background-color:#fafafa!important}.grey-text.text-lighten-5{color:#fafafa!important}.grey.lighten-4{background-color:#f5f5f5!important}.grey-text.text-lighten-4{color:#f5f5f5!important}.grey.lighten-3{background-color:#eee!important}.grey-text.text-lighten-3{color:#eee!important}.grey.lighten-2{background-color:#e0e0e0!important}.grey-text.text-lighten-2{color:#e0e0e0!important}.grey.lighten-1{background-color:#bdbdbd!important}.grey-text.text-lighten-1{color:#bdbdbd!important}.grey{background-color:#9e9e9e!important}.grey-text{color:#9e9e9e!important}.grey.darken-1{background-color:#757575!important}.grey-text.text-darken-1{color:#757575!important}.grey.darken-2{background-color:#616161!important}.grey-text.text-darken-2{color:#616161!important}.grey.darken-3{background-color:#424242!important}.grey-text.text-darken-3{color:#424242!important}.grey.darken-4{background-color:#212121!important}.grey-text.text-darken-4{color:#212121!important}.shades.black{background-color:#000!important}.shades-text.text-black{color:#000!important}.shades.white{background-color:#FFF!important}.shades-text.text-white{color:#FFF!important}.shades.transparent{background-color:transparent!important}.shades-text.text-transparent{color:transparent!important}.black{background-color:#000!important}.black-text{color:#000!important}.white{background-color:#FFF!important}.white-text{color:#FFF!important}.transparent{background-color:transparent!important}.transparent-text{color:transparent!important}.md-switch,.md-switch *{-moz-user-select:none;-khtml-user-select:none}.md-switch label{cursor:pointer}.md-switch label input[type=checkbox]{opacity:0;width:0;height:0}.md-switch label input[type=checkbox]:checked+.lever{background-color:#ef8b80}.md-switch label input[type=checkbox]:checked+.lever:after{background-color:#E74C3C}.md-switch.md-blue label input[type=checkbox]:checked+.lever{background-color:#6ab8f7}.md-switch.md-blue label input[type=checkbox]:checked+.lever:after{background-color:#2196f3}.md-switch.md-green label input[type=checkbox]:checked+.lever{background-color:#55d97e}.md-switch.md-green label input[type=checkbox]:checked+.lever:after{background-color:#29b955}.md-switch label .lever{content:"";display:inline-block;position:relative;width:40px;height:15px;background-color:#ccc;border-radius:15px;transition:background .3s ease;vertical-align:middle;margin:0 16px}.md-switch label .lever:after{content:"";position:absolute;display:inline-block;width:21px;height:21px;background-color:#fff;border-radius:21px;box-shadow:0 1px 3px 1px rgba(0,0,0,.4);left:-5px;top:-3px;transition:left .3s ease,background .3s ease,box-shadow .1s ease}input[type=checkbox]:checked:not(:disabled)~.lever:active:after{box-shadow:0 1px 3px 1px rgba(0,0,0,.4),0 0 0 15px rgba(255,255,255,.1)}input[type=checkbox]:not(:disabled)~.lever:active:after{box-shadow:0 1px 3px 1px rgba(0,0,0,.4),0 0 0 15px rgba(0,0,0,.08)}.md-switch label input[type=checkbox]:checked+.lever:after{left:24px}.md-switch input[type=checkbox][disabled]+.lever{cursor:default}.md-switch label input[type=checkbox][disabled]+.lever:after,.md-switch label input[type=checkbox][disabled]:checked+.lever:after{background-color:#ccc}.md-btn{background:#fff;border:none;border-radius:2px;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);min-height:31px;min-width:70px;padding:2px 16px;text-align:center;-webkit-transition:all 280ms cubic-bezier(.4,0,.2,1);transition:all 280ms cubic-bezier(.4,0,.2,1);color:#212121;box-sizing:border-box;cursor:pointer;-webkit-appearance:none;display:inline-block;vertical-align:middle;font:500 14px/31px Roboto,sans-serif!important;margin-bottom:0!important}.md-btn:active,.md-btn:focus,.md-btn:hover,.uk-button-dropdown.uk-open>.md-btn{background:#fff;outline:0;text-decoration:none;color:#212121;box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.md-btn:active,.uk-button-dropdown.uk-open>.md-btn{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.md-btn-flat{box-shadow:none!important;background:0 0}.md-btn-flat:focus,.md-btn-flat:hover{background:rgba(153,153,153,.2)}.md-btn-flat:active{background:rgba(153,153,153,.4)}.md-btn-flat-danger,.md-btn-flat-danger:active,.md-btn-flat-danger:focus,.md-btn-flat-danger:hover{color:#e53935}.md-btn-flat-danger:active,.md-btn-flat-danger:focus,.md-btn-flat-danger:hover{background:#fceaea}.md-btn-flat-primary,.md-btn-flat-primary:active,.md-btn-flat-primary:focus,.md-btn-flat-primary:hover{color:#1976d2}.md-btn-flat-primary:active,.md-btn-flat-primary:focus,.md-btn-flat-primary:hover{background:#e3f2fd}.md-btn-flat-success,.md-btn-flat-success:active,.md-btn-flat-success:focus,.md-btn-flat-success:hover{color:#7cb342}.md-btn-flat-success:active,.md-btn-flat-success:focus,.md-btn-flat-success:hover{background:#e1efd2}.md-btn-flat-warning,.md-btn-flat-warning:active,.md-btn-flat-warning:focus,.md-btn-flat-warning:hover{color:#ffa000}.md-btn-flat-warning:active,.md-btn-flat-warning:focus,.md-btn-flat-warning:hover{background:#ffeccc}.md-btn-flat.disabled{background:0 0!important}.md-btn-danger,.md-btn-danger:active,.md-btn-danger:focus,.md-btn-danger:hover{background:#e53935;color:#fff}.md-btn-primary,.md-btn-primary:active,.md-btn-primary:focus,.md-btn-primary:hover{background:#2196f3;color:#fff}.md-btn-success,.md-btn-success:active,.md-btn-success:focus,.md-btn-success:hover{background:#7cb342;color:#fff}.md-btn-warning,.md-btn-warning:active,.md-btn-warning:focus,.md-btn-warning:hover{background:#ffa000;color:#fff}.md-btn.disabled,.md-btn.disabled:active,.md-btn.disabled:focus,.md-btn.disabled:hover{color:#a8a8a8;background:#eaeaea;box-shadow:none!important;cursor:default;pointer-events:none}.md-btn-small{line-height:27px!important;min-width:14px;font-size:11px!important}.md-btn-large{line-height:42px!important;font-size:16px!important}.md-btn::-moz-focus-inner{border:0;padding:0}.md-btn+.md-btn{margin-left:8px}.md-btn-block{width:100%}.md-btn+.md-btn-group{margin-left:16px}[type=radio]:checked,[type=radio]:not(:checked){position:absolute;left:-9999px;visibility:hidden}[type=radio]:checked+label,[type=radio]:not(:checked)+label{position:relative;padding-left:30px;cursor:pointer;display:inline-block;height:25px;line-height:25px;font-size:1rem;transition:.28s ease;margin-right:8px;margin-left:0;-khtml-user-select:none;user-select:none}[type=radio]+label:after,[type=radio]+label:before{content:'';position:absolute;left:0;top:0;margin:5px;width:16px;height:16px;z-index:0;transition:.28s ease}[type=radio]:not(:checked)+label:before{border-radius:50%;border:2px solid #5a5a5a}[type=radio]:not(:checked)+label:after{border-radius:50%;border:2px solid #5a5a5a;z-index:-1;transform:scale(0)}[type=radio]:checked+label:before{border-radius:50%;border:2px solid transparent}[type=radio]:checked+label:after{border-radius:50%;border:2px solid #1976D2;background-color:#1976D2;z-index:0;transform:scale(1.02)}[type=radio].with-gap:checked+label:before{border-radius:50%;border:2px solid #1976D2}[type=radio].with-gap:checked+label:after{border-radius:50%;border:2px solid #1976D2;background-color:#1976D2;z-index:0;transform:scale(.5)}[type=radio].with-gap:disabled:checked+label:before{border:2px solid rgba(0,0,0,.26)}[type=radio].with-gap:disabled:checked+label:after{border:none;background-color:rgba(0,0,0,.26)}[type=radio]:disabled:checked+label:before,[type=radio]:disabled:not(:checked)+label:before{background-color:transparent;border-color:rgba(0,0,0,.26)}[type=radio]:disabled+label{color:rgba(0,0,0,.26)}[type=radio]:disabled:not(:checked)+label:before{border-color:rgba(0,0,0,.26)}[type=radio]:disabled:checked+label:after{background-color:rgba(0,0,0,.26);border-color:#BDBDBD}.selectize-control.plugin-drag_drop.multi>.selectize-input>div.ui-sortable-placeholder{visibility:visible!important;background:#f2f2f2!important;background:rgba(0,0,0,.06)!important;border:0!important;box-shadow:inset 0 0 12px 4px #fff}.selectize-control.plugin-drag_drop .ui-sortable-placeholder::after{content:'!';visibility:hidden}.selectize-control.plugin-drag_drop .ui-sortable-helper{box-shadow:0 2px 5px rgba(0,0,0,.2)}.selectize-dropdown-header{position:relative;padding:5px 8px;border-bottom:1px solid #d0d0d0;background:#f8f8f8;border-radius:3px 3px 0 0}.selectize-dropdown-header-close{position:absolute;right:8px;top:50%;color:#303030;opacity:.4;margin-top:-12px;line-height:20px;font-size:20px!important}.selectize-control,.selectize-control.plugin-remove_button [data-value]{position:relative}.selectize-dropdown-header-close:hover{color:#000}.selectize-dropdown.plugin-optgroup_columns .optgroup{border-right:1px solid #f2f2f2;border-top:0 none;float:left;box-sizing:border-box}.selectize-dropdown.plugin-optgroup_columns .optgroup:last-child{border-right:0 none}.selectize-dropdown.plugin-optgroup_columns .optgroup:before{display:none}.selectize-dropdown.plugin-optgroup_columns .optgroup-header{border-top:0 none}.selectize-control.plugin-remove_button [data-value] .remove{z-index:1;position:absolute;top:0;right:0;bottom:0;text-align:center;font-weight:700;font-size:12px;color:inherit;text-decoration:none;vertical-align:middle;display:inline-block;border-radius:0 2px 2px 0;box-sizing:border-box}.selectize-dropdown,.selectize-input,.selectize-input input{font-family:Roboto,sans-serif;font-size:13px;-webkit-font-smoothing:inherit}.selectize-control.plugin-remove_button [data-value].active .remove{border-left-color:#cacaca}.selectize-control.plugin-remove_button .disabled [data-value] .remove{border-left-color:#fff}.selectize-control.plugin-remove_button .disabled [data-value] .remove:hover{background:0 0}.selectize-control.plugin-remove_button.selectize-noremove .item{padding-right:0!important}.selectize-dropdown{line-height:18px}.selectize-input{color:#303030;background:#eef1f7;cursor:text;border:1px solid #d8dde6;display:inline-block;width:100%;overflow:hidden;position:relative;z-index:1;box-sizing:border-box}.selectize-input input{color:#303030;line-height:18px}.selectize-control.single .selectize-input.input-active{background:#f7f8fa;display:inline-block}.selectize-control.multi .selectize-input.has-items{padding:6px 8px 3px}.selectize-input.full{background-color:#f7f8fa}.selectize-input.disabled,.selectize-input.disabled *{cursor:default!important}.selectize-input.dropdown-active{border-radius:3px 3px 0 0}.selectize-input>*{vertical-align:baseline;display:-moz-inline-stack;display:inline-block;zoom:1}.selectize-input>* *{display:inline}.selectize-control.multi .selectize-input>div{cursor:pointer;margin:0 3px 3px 0;background:#e0e0e0;color:#303030;border:0 solid #d0d0d0}.selectize-control.multi .selectize-input>div.active{background:#e8e8e8;color:#303030;border:0 solid #cacaca}.selectize-control.multi .selectize-input.disabled>div,.selectize-control.multi .selectize-input.disabled>div.active{color:#7d7d7d;background:#eef1f7;border:0 solid #eef1f7}.selectize-input>input{display:inline-block!important;padding:0!important;min-height:0!important;max-height:none!important;max-width:100%!important;margin:0 2px 0 0!important;text-indent:0!important;border:0!important;background:0 0!important;line-height:inherit!important;-webkit-user-select:auto!important;box-shadow:none!important}.selectize-input>input::-ms-clear{display:none}.selectize-input>input:focus{outline:0!important}.selectize-input::after{content:' ';display:block;clear:left}.selectize-input.dropdown-active::before{content:' ';display:block;position:absolute;background:#f0f0f0;height:1px;bottom:0;left:0;right:0}.selectize-dropdown{position:absolute;border:1px solid #d8dde6;background:#f7f8fa;margin:-1px 0 0;border-top:0 none;box-sizing:border-box;border-radius:0 0 3px 3px}.selectize-dropdown [data-selectable]{cursor:pointer;overflow:hidden;padding:5px 8px}.selectize-dropdown [data-selectable] .highlight{background:rgba(125,168,208,.2);border-radius:1px}.selectize-input,.selectize-input.focus{border-radius:0;box-shadow:none}.selectize-dropdown .optgroup-header{padding:5px 8px;background:#f7f8fa;cursor:default}.selectize-dropdown .optgroup:first-child .optgroup-header{border-top:0 none}.selectize-dropdown .active{background-color:#f5fafd}.selectize-dropdown .active.create{color:#495c68}.selectize-dropdown .create{color:rgba(48,48,48,.5)}.selectize-white .selectize-input,.selectize-white .selectize-input.input-active{background:#fff!important;border-width:0 0 1px}.selectize-white .selectize-input.input-active{border-color:#E74C3C}.selectize-dropdown.selectize-white{background:#fff!important}.selectize-dropdown-content{overflow-y:auto;overflow-x:hidden;max-height:200px}.selectize-control.single .selectize-input,.selectize-control.single .selectize-input input{cursor:pointer}.selectize-control.single .selectize-input.input-active,.selectize-control.single .selectize-input.input-active input{cursor:text}.selectize-control.single .selectize-input:after{display:block;position:absolute;top:50%;width:0;height:0}.selectize-input.dropdown-active:before,.selectize-input.focus:before,.selectize-input:before{display:none}.selectize-control.single .selectize-input.dropdown-active:after{margin-top:-4px;border-width:0 5px 5px;border-color:transparent transparent grey}.selectize-control.rtl.single .selectize-input:after{left:15px;right:auto}.selectize-control.rtl .selectize-input>input{margin:0 4px 0 -2px!important}.selectize-control.multi .selectize-input .item-icon,.selectize-dropdown.multi .item-icon{margin-right:4px}.selectize-control .selectize-input.disabled{opacity:.5;background-color:#fafafa}.selectize-input{border-color:rgba(0,0,0,.12);line-height:25px;padding:6px 8px}.md-input-danger .selectize-input{border-color:#e53935}.selectize-dropdown{margin-top:-40px;box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);color:#212121;z-index:1210}.selectize-dropdown [data-selectable]{padding-top:11px;padding-bottom:10px;font-size:15px}.selectize-dropdown .active{background:rgba(0,0,0,.085);color:inherit}.selectize-dropdown .optgroup-header{font-size:14px;color:#aaa;padding-top:8px}.selectize-dropdown.selectize_fs{z-index:9999}.selectize-control .selectize-input{min-height:40px}.selectize-control.multi .selectize-input{line-height:21px}.selectize-control.multi .selectize-input>div{border-radius:18px;padding:3px 8px 2px;font-size:14px}.selectize-control.multi .selectize-input .selectize-input.has-items{padding:4px}.selectize-control.multi .selectize-input input{height:26px;font-size:15px}.selectize-control.plugin-remove_button [data-value]{padding-right:32px!important}.selectize-control.plugin-remove_button [data-value] .remove{border:none;width:auto;padding:4px 10px 0 0}.selectize-control.plugin-remove_button [data-value] .remove:hover{background:0 0}.selectize-control.plugin-remove_button [data-value] .remove:after{color:#727272;content:'\e5cd';font-family:"Material Icons";font-size:18px}.selectize-control.single{height:40px;margin-top:0}.selectize-control.single .selectize-input{border-width:0 0 1px;padding:8px 8px 9px}.selectize-control.single .selectize-input:after{border:none!important;content:'\e5c5';font-family:"Material Icons";font-size:28px;margin-top:-12px!important;right:28px;color:rgba(0,0,0,.3)}.selectize-control.single .selectize-input .item,.selectize-control.single .selectize-input input{font-size:15px;font-family:Roboto,sans-serif}.selectize_fix{overflow:hidden;height:0;width:100%}.selectize-control.single .selectize-input>input{height:26px!important}.tru-card{background:#FFF;position:relative;border:none;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.tru-card.tru-card-hover{transition:all 280ms cubic-bezier(.4,0,.2,1)}.tru-card.tru-card-hover:hover{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.tru-card .tru-card-head{height:165px;position:relative;border-bottom:1px solid rgba(0,0,0,.12)}.tru-card .tru-card-head.tru-card-head-admin,.tru-card .tru-card-head.tru-card-head-deleted{background:#3498db}.tru-card .tru-card-head.tru-card-head-admin .tru-card-head-text,.tru-card .tru-card-head.tru-card-head-deleted .tru-card-head-text{color:#fff}.tru-card .tru-card-head.tru-card-head-admin .tru-icon,.tru-card .tru-card-head.tru-card-head-deleted .tru-icon{color:#fff!important}.tru-card .tru-card-head.tru-card-head-deleted{background:#d32f2f!important}.tru-card .tru-card-head-menu{position:absolute;right:8px;top:8px}.tru-card .tru-card-head-avatar{width:82px;height:82px;border-radius:50%;margin-top:16px;border:2px solid #fff;display:inline-block}.md-fab,.tru-icon{border-radius:50%;cursor:pointer}.tru-card .tru-card-head-text{padding:8px 16px 16px;font:500 16px/22px Roboto,"Open Sans",sans-serif;color:#212121;margin:0;-ms-word-break:break-all;word-break:break-all}.tru-card .tru-card-head-text span{display:block;font:400 12px/18px Roboto,"Open Sans",sans-serif;margin-top:-2px}.tru-card .tru-card-content{padding:16px}.tru-card.tru-card-overlay{overflow:hidden;padding-bottom:50px}.tru-card.tru-card-overlay .tru-card-content{height:165px;overflow:hidden;box-sizing:border-box}.tru-card.tru-card-overlay .tru-card-overlay-content{position:absolute;top:100%;left:0;right:0;padding:0 16px;margin-top:-50px;border-top:1px solid rgba(0,0,0,.12);text-align:left;bottom:0;background:#eef1f7;z-index:10;-webkit-transition:all 280ms cubic-bezier(.4,0,.2,1);transition:all 280ms cubic-bezier(.4,0,.2,1);font:300 14px/1.42857143 Roboto,"Open Sans",sans-serif}.md-fab,.tru-icon{text-align:center}.tru-card.tru-card-overlay .tru-card-overlay-content .tru-card-overlay-header h3,.tru-card.tru-card-overlay .tru-card-overlay-content .tru-card-overlay-header h4{margin:0;text-overflow:ellipsis;display:inline-block;vertical-align:top;white-space:nowrap;overflow:hidden;width:100%;padding-right:40px;box-sizing:border-box}.tru-card.tru-card-overlay .tru-card-overlay-content .tru-card-overlay-header h3{font:300 22px/48px Roboto,"Open Sans",sans-serif}.tru-card.tru-card-overlay .tru-card-overlay-content .tru-card-overlay-header .tru-icon{position:absolute;top:8px;right:8px}.tru-icon{font-size:24px;line-height:32px!important;height:32px!important;width:32px!important;color:#727272;-webkit-transition:background 280ms ease-out,color 280ms ease-out;transition:background 280ms ease-out,color 280ms ease-out}.tru-icon:focus,.tru-icon:hover{background:rgba(0,0,0,.08);color:#212121}.tru-card.tru-card-overlay-active .tru-card-overlay-content{top:-1px;margin-top:0}.tru-list{margin:0;font-size:12px;padding:0}.tru-list *,.tru-list:after,.tru-list:before{box-sizing:border-box}.tru-list>li{list-style:none}.tru-list .uk-nestable-list>li,.tru-list>li{min-height:48px;padding:8px 4px;box-sizing:border-box;border-bottom:1px solid rgba(0,0,0,.12);position:relative}.tru-list .uk-nestable-list>li:last-child,.tru-list>li:last-child{border-bottom:none}.tru-list .uk-nestable-list>li .tru-list-content,.tru-list>li .tru-list-content{overflow:hidden}.tru-list .uk-nestable-list>li .tru-list-content .tru-list-heading,.tru-list>li .tru-list-content .tru-list-heading{margin:0;font:500 14px/1.42857143 Roboto,"Open Sans",sans-serif;display:block;overflow:hidden;padding-bottom:1px}.tru-list a,.tru-list a:active,.tru-list a:focus{color:#E74C3C}.tru-list a:active:hover,.tru-list a:focus:hover,.tru-list a:hover{color:#ed7669}.epc_chart{display:block;position:relative}.epc_chart .epc_chart_icon{position:absolute;top:0;left:0;right:0;bottom:0;text-align:center;line-height:129px;display:block}.epc_chart .epc_chart_icon i{color:#727272;font-size:48px;vertical-align:middle}.md-fab{box-sizing:border-box;width:64px;height:64px;background:#fff;color:#727272;display:block;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1);transition:box-shadow 280ms cubic-bezier(.4,0,.2,1);border:none;position:relative}.md-fab:active,.md-fab:focus,.md-fab:hover{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.md-fab>i{font-size:36px;line-height:64px;height:inherit;width:inherit;position:absolute;left:0;top:0;color:#727272}.md-fab.md-fab-danger>i,.md-fab.md-fab-primary>i,.md-fab.md-fab-success>i,.md-fab.md-fab-warning>i{color:#fff}.md-fab.md-fab-accent{background:#E74C3C}.md-fab.md-fab-success{background:#29b955}.md-fab.md-fab-danger{background:#d32f2f}.md-fab.md-fab-primary{background:#2196F3}.md-fab.md-fab-warning{background:#ffa000}.md-fab.md-fab-small{width:48px;height:48px;border-radius:50%}.md-fab.md-fab-small>i{line-height:48px;height:inherit;width:inherit;font-size:24px}.md-fab-speed-dial .md-fab-action-close{display:none}.md-fab-wrapper{position:fixed;bottom:24px;right:24px;z-index:1004;-webkit-transition:margin 280ms cubic-bezier(.4,0,.2,1);transition:margin 280ms cubic-bezier(.4,0,.2,1)}.md-fab-wrapper>.md-fab+.md-fab{margin-top:16px}.md-fab-wrapper.md-fab-in-card{position:absolute}@media only screen and (max-width:767px){.md-fab-wrapper{bottom:20px;right:20px}}.md-fab-speed-dial .md-fab-wrapper-small{position:absolute;bottom:80px;right:8px;min-height:48px;width:48px;z-index:-1}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small{-webkit-transform:scale(0);transform:scale(0);opacity:0;position:absolute;right:0}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(1){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) 50ms,opacity .1s cubic-bezier(.4,0,.2,1) 50ms;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 50ms,opacity .1s cubic-bezier(.4,0,.2,1) 50ms}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(2){bottom:64px}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(2){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) .1s,opacity .1s cubic-bezier(.4,0,.2,1) .1s;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .1s,opacity .1s cubic-bezier(.4,0,.2,1) .1s}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(3){bottom:128px}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(3){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) 150ms,opacity .1s cubic-bezier(.4,0,.2,1) 150ms;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 150ms,opacity .1s cubic-bezier(.4,0,.2,1) 150ms}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(4){bottom:192px}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(4){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) .2s,opacity .1s cubic-bezier(.4,0,.2,1) .2s;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .2s,opacity .1s cubic-bezier(.4,0,.2,1) .2s}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(5){bottom:256px}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(5){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) 250ms,opacity .1s cubic-bezier(.4,0,.2,1) 250ms;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 250ms,opacity .1s cubic-bezier(.4,0,.2,1) 250ms}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(6){bottom:320px}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(6){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) .3s,opacity .1s cubic-bezier(.4,0,.2,1) .3s;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .3s,opacity .1s cubic-bezier(.4,0,.2,1) .3s}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(7){bottom:384px}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(7){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) 350ms,opacity .1s cubic-bezier(.4,0,.2,1) 350ms;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 350ms,opacity .1s cubic-bezier(.4,0,.2,1) 350ms}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(8){bottom:448px}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(8){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) .4s,opacity .1s cubic-bezier(.4,0,.2,1) .4s;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .4s,opacity .1s cubic-bezier(.4,0,.2,1) .4s}.md-fab-speed-dial.md-fab-active .md-fab-small{-webkit-transform:scale(1);transform:scale(1);opacity:1;z-index:10}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(1){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) 50ms,opacity .1s cubic-bezier(.4,0,.2,1) 50ms;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 50ms,opacity .1s cubic-bezier(.4,0,.2,1) 50ms}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(2){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) .1s,opacity .1s cubic-bezier(.4,0,.2,1) .1s;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .1s,opacity .1s cubic-bezier(.4,0,.2,1) .1s}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(3){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) 150ms,opacity .1s cubic-bezier(.4,0,.2,1) 150ms;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 150ms,opacity .1s cubic-bezier(.4,0,.2,1) 150ms}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(4){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) .2s,opacity .1s cubic-bezier(.4,0,.2,1) .2s;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .2s,opacity .1s cubic-bezier(.4,0,.2,1) .2s}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(5){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) 250ms,opacity .1s cubic-bezier(.4,0,.2,1) 250ms;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 250ms,opacity .1s cubic-bezier(.4,0,.2,1) 250ms}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(6){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) .3s,opacity .1s cubic-bezier(.4,0,.2,1) .3s;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .3s,opacity .1s cubic-bezier(.4,0,.2,1) .3s}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(7){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) 350ms,opacity .1s cubic-bezier(.4,0,.2,1) 350ms;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 350ms,opacity .1s cubic-bezier(.4,0,.2,1) 350ms}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(8){-webkit-transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),-webkit-transform .1s cubic-bezier(.4,0,.2,1) .4s,opacity .1s cubic-bezier(.4,0,.2,1) .4s;transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .4s,opacity .1s cubic-bezier(.4,0,.2,1) .4s}.md-fab-toolbar{-webkit-transition:all 280ms cubic-bezier(.4,0,.2,1);transition:all 280ms cubic-bezier(.4,0,.2,1);cursor:default}.md-fab-toolbar>i{cursor:pointer}.md-fab-toolbar-actions{visibility:hidden;white-space:nowrap;padding:0 10px;overflow:hidden;box-sizing:border-box}.md-fab-toolbar-actions a,.md-fab-toolbar-actions button{display:block;float:left;opacity:0;margin:0 0 0 16px;height:64px;width:48px;box-sizing:border-box;-webkit-transition:opacity 280ms cubic-bezier(.4,0,.2,1);transition:opacity 280ms cubic-bezier(.4,0,.2,1);background:0 0;border:none;outline:0;cursor:pointer}.md-fab-sheet.md-fab-animated,.md-fab-toolbar.md-fab-animated{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);border-radius:4px}.md-fab-toolbar-actions a a:first-child,.md-fab-toolbar-actions a button:first-child,.md-fab-toolbar-actions button a:first-child,.md-fab-toolbar-actions button button:first-child{margin-left:0}.md-fab-toolbar-actions .material-icons{font-size:36px;line-height:64px}.md-fab-toolbar.md-fab-animated>i{display:none}.md-fab-toolbar.md-fab-active .md-fab-toolbar-actions{visibility:visible}.md-fab-toolbar.md-fab-active .md-fab-toolbar-actions a,.md-fab-toolbar.md-fab-active .md-fab-toolbar-actions button{opacity:1}.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions a,.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions button{height:48px;width:36px;padding:0;margin:0 0 0 8px}.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions a a:first-child,.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions a button:first-child,.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions button a:first-child,.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions button button:first-child{margin-left:0}.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions .material-icons{font-size:24px;line-height:48px;height:inherit}.md-fab-sheet{-webkit-transition:all 280ms cubic-bezier(.4,0,.2,1);transition:all 280ms cubic-bezier(.4,0,.2,1);cursor:default}.md-fab-sheet>i,.waves-effect{cursor:pointer}.md-fab-sheet-actions{visibility:hidden;white-space:nowrap;overflow:hidden;box-sizing:border-box;padding:4px 0}.md-fab-sheet-actions>a{display:block;opacity:0;padding:4px 16px;box-sizing:border-box;font:400 16px/32px Roboto,sans-serif;text-align:left;color:#212121}.md-fab-sheet-actions>a:hover{color:#212121}.md-fab-sheet-actions .material-icons{font-size:24px;margin-right:8px;vertical-align:-6px}.md-fab-sheet.md-fab-animated>i{display:none}.md-fab-sheet.md-fab-active .md-fab-sheet-actions{visibility:visible}.md-fab-sheet.md-fab-active .md-fab-sheet-actions>a{opacity:1}.sidebar_secondary_active .md-fab-wrapper{margin-right:264px}@media only screen and (max-width:767px){.sidebar_secondary_active .md-fab-wrapper{margin-right:280px}}/*! ** Waves v0.7.4 ** http://fian.my.id/Waves ** ** Copyright 2014 Alfiana E. Sibuea and other contributors ** Released under the MIT license - ** https: */.waves-effect{position:relative;overflow:hidden}.waves-effect .waves-ripple{position:absolute;border-radius:50%;width:80px;height:80px;margin-top:-40px;margin-left:-40px;opacity:0;background:rgba(0,0,0,.2);-webkit-transition:all .5s ease-out;transition:all .5s ease-out;-webkit-transition-property:-webkit-transform,opacity;transition-property:transform,opacity;-webkit-transform:scale(0) translate(0,0);transform:scale(0) translate(0,0);pointer-events:none}.waves-effect.waves-light .waves-ripple{background:rgba(255,255,255,.45)}.waves-effect.md-btn-flat{background:0 0}.waves-effect.waves-default .waves-ripple{background:rgba(153,153,153,.2)}.waves-effect.md-btn-flat-primary .waves-ripple{background:rgba(33,150,243,.4)}.waves-effect.md-btn-flat-accent .waves-ripple{background:rgba(231,76,60,.4)}.waves-effect.md-btn-flat-danger .waves-ripple{background:rgba(229,57,53,.4)}.waves-effect.md-btn-flat-warning .waves-ripple{background:rgba(255,160,0,.4)}.waves-effect.md-btn-flat-success .waves-ripple{background:rgba(124,179,66,.4)}.waves-notransition{-webkit-transition:none!important;transition:none!important}.waves-button,.waves-circle{-webkit-transform:translateZ(0);transform:translateZ(0)}.waves-input-wrapper{border-radius:.2em;vertical-align:bottom}.waves-input-wrapper.waves-button{padding:0}.waves-input-wrapper .waves-button-input{position:relative;top:0;left:0;z-index:1}.waves-circle{text-align:center;width:2.5em;height:2.5em;line-height:2.5em;border-radius:50%}.waves-float{-webkit-mask-image:none;-webkit-transition:all .3s;transition:all .3s}.waves-block{display:block}a.waves-effect .waves-ripple{z-index:-1}.uk-modal{z-index:1304;background:rgba(0,0,0,.5);-webkit-transition:opacity 250ms ease-out;transition:opacity 250ms ease-out;overflow:hidden!important}.uk-modal.uk-modal-no-backdrop{background:0 0}.uk-modal-dialog{border-radius:2px;box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22);padding:24px;display:block!important;-webkit-animation:none!important;animation:none!important;-webkit-transition:-webkit-transform 280ms cubic-bezier(.4,0,.2,1),opacity 280ms ease-in;transition:transform 280ms cubic-bezier(.4,0,.2,1),opacity 280ms ease-in;-webkit-transform:scale(0);transform:scale(0)}.uk-open .uk-modal-dialog{-webkit-transform:scale(1);transform:scale(1)}.uk-modal-dialog .uk-modal-header{background:0 0;border-bottom:none;margin:0 -24px 24px;padding:0 32px 0 24px;overflow:hidden}.uk-modal-dialog .uk-modal-header .uk-modal-title{margin:0;font:500 18px/28px Roboto,sans-serif}.uk-modal-dialog .uk-modal-header .uk-modal-title span{font-size:16px;display:block;color:#727272}.uk-modal-dialog .uk-modal-footer:after,.uk-modal-dialog .uk-modal-footer:before{content:" ";display:table}.uk-modal-dialog .uk-modal-footer{margin:16px -16px -16px;padding:16px;background:#fff;border-top:none}.uk-modal-dialog .uk-modal-footer:after{clear:both}.uk-modal-dialog .uk-modal-footer .md-icon-btn{margin-top:2px}.uk-modal-dialog .uk-modal-caption{bottom:16px;margin:0 32px}.uk-modal-dialog>.uk-close:first-child{top:8px;right:8px;position:absolute;float:none;margin:0}.uk-modal-dialog-lightbox{padding:0}.uk-modal-dialog-lightbox>.uk-close:first-child{top:-11px;right:-11px;box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23);border:none}.uk-modal-dialog .uk-overflow-container{margin:16px 0}.uk-modal .uk-margin.uk-modal-content{margin-bottom:0}.uk-modal.uk-modal-dialog-replace .uk-modal-content{font-size:18px}.showbox{position:absolute;top:0;bottom:0;left:0;right:0;padding:5%}.loader{position:relative;margin:0 auto;width:100px}#loader-wrapper,.circular{top:0;left:0;right:0;width:100%;height:100%;position:absolute;bottom:0}.loader:before{content:'';display:block;padding-top:100%}.circular{animation:rotate 2s linear infinite;transform-origin:center center;margin:auto}.path{stroke-dasharray:1,200;stroke-dashoffset:0;animation:dash 1.5s ease-in-out infinite,color 6s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{100%{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px}}@keyframes color{0%,100%,40%,66%,80%,90%{stroke:#eee}}#loader-wrapper{background:#ddd;z-index:999999}@keyframes bounceC{0%,100%{-webkit-transform:translateY(0)}50%{-webkit-transform:translateY(-700%)}}@keyframes bounce{0%{-webkit-transform:scaleY(.6) translateY(50%)}50%{-webkit-transform:scaleY(1.02) translateY(-10%)}100%{-webkit-transform:scaleY(.7) translateY(40%)}}.t path{animation:bounce .7s infinite alternate ease-in-out;-webkit-animation:bounce .7s infinite alternate ease-in-out}.t circle{-webkit-animation:bounceC .7s infinite alternate ease-in-out}.test-wrapper{width:280px;height:150px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.loader-wrapper{width:100%;height:100%}.loader-wrapper svg.t{position:absolute;top:0;left:30%;transform-origin:0 100%;-ms-transform-origin:0 100%;-webkit-transform-origin:13px 100%;transform:scale(1.5)}.loader-wrapper svg.t circle{fill:#E74C3C}.loader-wrapper svg.t path{transform-origin:50% 100%;-ms-transform-origin:50% 100%;-webkit-transform-origin:50% 100%}.loader-wrapper svg path{fill:#323232}.shadow{animation:expand .35s infinite alternate ease-in-out;-webkit-animation:expand .35s infinite alternate ease-in-out}.shadow-wrapper{width:280px;height:150px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes expand{0%{opacity:.5}100%{opacity:.2}}.c3-chart-arc text{font-size:10px!important}.tru-card-intro{transform:scale(0);opacity:.02}input:not([type]),input[type=text],input[type=password],input[type=datetime],input[type=datetime-local],input[type=date],input[type=month],input[type=time],input[type=week],input[type=number],input[type=email],input[type=url],input[type=search],input[type=tel],input[type=color],select,textarea{outline:0}select[disabled]{-moz-appearance:none;-webkit-appearance:none}select[disabled]::-ms-expand{display:none}input:not([type]).md-input,input[type=text].md-input,input[type=password].md-input,input[type=datetime].md-input,input[type=datetime-local].md-input,input[type=date].md-input,input[type=month].md-input,input[type=time].md-input,input[type=week].md-input,input[type=number].md-input,input[type=email].md-input,input[type=url].md-input,input[type=search].md-input,input[type=tel].md-input,input[type=color].md-input,select.md-input,textarea.md-input{border-radius:0;border-width:0 0 1px;border-style:solid;border-color:rgba(0,0,0,.12);font:400 15px/18px Roboto,sans-serif;box-shadow:inset 0 -1px 0 transparent;box-sizing:border-box;padding:12px 4px;background:0 0;width:100%;display:block}input:not([type]).md-input.md-input-danger,input[type=text].md-input.md-input-danger,input[type=password].md-input.md-input-danger,input[type=datetime].md-input.md-input-danger,input[type=datetime-local].md-input.md-input-danger,input[type=date].md-input.md-input-danger,input[type=month].md-input.md-input-danger,input[type=time].md-input.md-input-danger,input[type=week].md-input.md-input-danger,input[type=number].md-input.md-input-danger,input[type=email].md-input.md-input-danger,input[type=url].md-input.md-input-danger,input[type=search].md-input.md-input-danger,input[type=tel].md-input.md-input-danger,input[type=color].md-input.md-input-danger,select.md-input.md-input-danger,textarea.md-input.md-input-danger{border-color:#e53935}input:not([type]).md-input.md-input-danger:focus,input[type=text].md-input.md-input-danger:focus,input[type=password].md-input.md-input-danger:focus,input[type=datetime].md-input.md-input-danger:focus,input[type=datetime-local].md-input.md-input-danger:focus,input[type=date].md-input.md-input-danger:focus,input[type=month].md-input.md-input-danger:focus,input[type=time].md-input.md-input-danger:focus,input[type=week].md-input.md-input-danger:focus,input[type=number].md-input.md-input-danger:focus,input[type=email].md-input.md-input-danger:focus,input[type=url].md-input.md-input-danger:focus,input[type=search].md-input.md-input-danger:focus,input[type=tel].md-input.md-input-danger:focus,input[type=color].md-input.md-input-danger:focus,select.md-input.md-input-danger:focus,textarea.md-input.md-input-danger:focus{border-bottom-color:#e53935}input:not([type]).md-input.md-input-success,input[type=text].md-input.md-input-success,input[type=password].md-input.md-input-success,input[type=datetime].md-input.md-input-success,input[type=datetime-local].md-input.md-input-success,input[type=date].md-input.md-input-success,input[type=month].md-input.md-input-success,input[type=time].md-input.md-input-success,input[type=week].md-input.md-input-success,input[type=number].md-input.md-input-success,input[type=email].md-input.md-input-success,input[type=url].md-input.md-input-success,input[type=search].md-input.md-input-success,input[type=tel].md-input.md-input-success,input[type=color].md-input.md-input-success,select.md-input.md-input-success,textarea.md-input.md-input-success{border-color:#7cb342}input:not([type]).md-input.md-input-success:focus,input[type=text].md-input.md-input-success:focus,input[type=password].md-input.md-input-success:focus,input[type=datetime].md-input.md-input-success:focus,input[type=datetime-local].md-input.md-input-success:focus,input[type=date].md-input.md-input-success:focus,input[type=month].md-input.md-input-success:focus,input[type=time].md-input.md-input-success:focus,input[type=week].md-input.md-input-success:focus,input[type=number].md-input.md-input-success:focus,input[type=email].md-input.md-input-success:focus,input[type=url].md-input.md-input-success:focus,input[type=search].md-input.md-input-success:focus,input[type=tel].md-input.md-input-success:focus,input[type=color].md-input.md-input-success:focus,select.md-input.md-input-success:focus,textarea.md-input.md-input-success:focus{border-bottom-color:#7cb342}input:not([type]).md-input:focus,input[type=text].md-input:focus,input[type=password].md-input:focus,input[type=datetime].md-input:focus,input[type=datetime-local].md-input:focus,input[type=date].md-input:focus,input[type=month].md-input:focus,input[type=time].md-input:focus,input[type=week].md-input:focus,input[type=number].md-input:focus,input[type=email].md-input:focus,input[type=url].md-input:focus,input[type=search].md-input:focus,input[type=tel].md-input:focus,input[type=color].md-input:focus,select.md-input:focus,textarea.md-input:focus{background:0 0;border-color:rgba(0,0,0,.12)}input:not([type]).md-input-small,input[type=text].md-input-small,input[type=password].md-input-small,input[type=datetime].md-input-small,input[type=datetime-local].md-input-small,input[type=date].md-input-small,input[type=month].md-input-small,input[type=time].md-input-small,input[type=week].md-input-small,input[type=number].md-input-small,input[type=email].md-input-small,input[type=url].md-input-small,input[type=search].md-input-small,input[type=tel].md-input-small,input[type=color].md-input-small,select.md-input-small,textarea.md-input-small{padding:4px}.md-input-width-small{min-width:80px!important}.md-input-width-medium{min-width:160px!important}.md-input-width-large{min-width:320px!important}textarea.md-input{min-height:80px;resize:none;overflow:hidden;-webkit-transition:height .2s ease-out;transition:height .2s ease-out;line-height:24px}.md-input-wrapper{position:relative;padding-top:4px;width:100%;display:block}.md-input-wrapper .md-input-bar{display:block;position:absolute;bottom:0;left:0;width:100%}.md-input-wrapper .md-input-bar:after,.md-input-wrapper .md-input-bar:before{content:'';display:block;position:absolute;bottom:0;width:0;height:2px;background:#E74C3C;-webkit-transition:width .4s cubic-bezier(.4,0,.2,1);transition:width .4s cubic-bezier(.4,0,.2,1)}.md-input-wrapper .md-input-bar:before{left:50%}.md-input-wrapper .md-input-bar:after{right:50%}.md-input-wrapper>label{color:#727272;position:absolute;top:16px;left:4px;right:0;pointer-events:none;-webkit-transition:all 150ms ease-out;transition:all 150ms ease-out}.md-input-wrapper+*{margin-top:10px}.md-input-wrapper.md-input-wrapper-disabled>label{color:rgba(0,0,0,.26)}.md-input-wrapper.has-error>label{color:#d32f2f}.md-input-wrapper.has-error .md-input-bar{bottom:20px}.md-input-wrapper.has-error .md-input-bar.bottom-fix{bottom:0}.md-input-wrapper.has-error .md-input-bar.error-color:after,.md-input-wrapper.has-error .md-input-bar.error-color:before{background:#d32f2f!important}.md-input-wrapper-count{padding-bottom:24px}.md-input-wrapper-count .md-input-bar{bottom:24px}.md-input-wrapper-count .text-count-wrapper{font-size:12px;position:absolute;right:0;bottom:0;opacity:0;-webkit-transition:opacity .2s ease-in;transition:opacity .2s ease-in}.md-input-wrapper-count>.md-input-wrapper-count .text-count-wrapper{position:absolute;bottom:0;right:0}.md-input-filled>label,.md-input-focus>label{top:-6px;font-size:12px}.md-input-filled.md-input-wrapper-count .text-count-wrapper,.md-input-focus.md-input-wrapper-count .text-count-wrapper{opacity:1}.md-input-focus .md-input-bar:after,.md-input-focus .md-input-bar:before{width:50%}.md-input-wrapper-danger .md-input-bar:after,.md-input-wrapper-danger .md-input-bar:before{background:#e53935}.md-input-wrapper-danger.md-input-wrapper-count .text-count-wrapper{color:#e53935}.md-input-wrapper-success .md-input-bar:after,.md-input-wrapper-success .md-input-bar:before{background:#7cb342}.md-input-wrapper-success.md-input-wrapper-count .text-count-wrapper{color:#7cb342}.md-form-group{position:relative}label.md-label{color:#999;padding:0 6px;font-size:11px}.uk-grid-small{margin-top:15px!important}.uk-subnav-pill li a{transition:background-color .5s ease;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px}.uk-subnav-pill li:not(.uk-active)>a:hover{background:#fff}.uk-badge,.uk-subnav-pill>.uk-active>*{background:#E74C3C}.uk-badge{padding:2px 6px;border:none;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;font-size:11px;line-height:15px;font-weight:400}.uk-badge.uk-badge-blue{background:#2196F3}.uk-badge.uk-badge-success{background:#29b955}.uk-badge.uk-badge-warning{background:#ffa000}.uk-badge.uk-badge-danger{background:#e53935}.uk-progress{background:#fff}.uk-margin-medium-bottom{margin-bottom:24px!important}.uk-margin-medium-top{margin-top:24px!important}.uk-margin-medium-left{margin-left:24px!important}.uk-margin-medium-right{margin-right:24px!important}.uk-padding-medium-sides{padding-left:24px!important;padding-right:24px!important}.uk-padding-small-sides{padding-left:12px!important;padding-right:12px!important}.uk-dropdown{background:#f5f5f5}.uk-dropdown.uk-datepicker{opacity:1;z-index:99999;transform:scale(1,1);-webkit-transform:scale(1,1)}.uk-button.uk-button-accent{background:#E74C3C;color:#fff;transition:all .4s ease;border:none;font:400 14px/16px "Source Sans Pro",sans-serif;text-shadow:none}.uk-button.uk-button-accent:active,.uk-button.uk-button-accent:focus,.uk-button.uk-button-accent:hover{color:#fff;background:#ea6153}table,table thead,table tr.alt,table tr.even,table tr:nth-of-type(even){background:inherit}.title-shadow{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)!important}table{table-layout:auto;border-collapse:collapse;border-spacing:0;border:none}.img-caption{position:absolute;left:0;padding:14px;background:#42464d;color:#e0e0e0;height:100px;width:100%;top:auto;bottom:0;opacity:0;transform:translateY(100%);transition:transform .4s,opacity .1s .3s}.img-caption h3{margin:0 0 14px;padding:0;color:#fff;font-size:14px;font-weight:300}.img-caption span{font-style:italic;font-size:12px;line-height:14px;font-weight:300;color:rgba(255,255,255,.5)}.img-caption span:before{content:"Note: "}.img-caption a{text-align:center;padding:5px 10px;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;display:inline-block;background:#ed4e6e;color:#fff;position:absolute;bottom:20px;right:20px}.hoverEffect.mediumProfilePic,.largeProfilePic.hoverEffect{overflow:hidden}.hoverEffect.mediumProfilePic img,.largeProfilePic.hoverEffect img{transition:transform .4s}.no-touch .hoverEffect:hover img{transform:translateY(-55px)}.no-touch .hoverEffect:hover .img-caption{opacity:1;transform:translateY(0);transition:transform .4s,opacity .1s}.uk-dropdown.uk-datepicker{background:#f7f8fa}.uk-datepicker-nav{background:#595f69}.uk-datepicker-nav .uk-form-select,.uk-datepicker-nav a,.uk-datepicker-nav a:hover{color:#fff}.uk-datepicker-nav .uk-form-select option{color:#222}.uk-form-danger{background:0 0!important}.uk-datepicker-table a.uk-active{background:#595f69;color:#fff} \ No newline at end of file + ** https: */.waves-effect{position:relative;overflow:hidden}.waves-effect .waves-ripple{position:absolute;border-radius:50%;width:80px;height:80px;margin-top:-40px;margin-left:-40px;opacity:0;background:rgba(0,0,0,.2);-webkit-transition:all .5s ease-out;transition:all .5s ease-out;-webkit-transition-property:-webkit-transform,opacity;transition-property:transform,opacity;-webkit-transform:scale(0) translate(0,0);transform:scale(0) translate(0,0);pointer-events:none}.waves-effect.waves-light .waves-ripple{background:rgba(255,255,255,.45)}.waves-effect.md-btn-flat{background:0 0}.waves-effect.waves-default .waves-ripple{background:rgba(153,153,153,.2)}.waves-effect.md-btn-flat-primary .waves-ripple{background:rgba(33,150,243,.4)}.waves-effect.md-btn-flat-accent .waves-ripple{background:rgba(231,76,60,.4)}.waves-effect.md-btn-flat-danger .waves-ripple{background:rgba(229,57,53,.4)}.waves-effect.md-btn-flat-warning .waves-ripple{background:rgba(255,160,0,.4)}.waves-effect.md-btn-flat-success .waves-ripple{background:rgba(124,179,66,.4)}.waves-notransition{-webkit-transition:none!important;transition:none!important}.waves-button,.waves-circle{-webkit-transform:translateZ(0);transform:translateZ(0)}.waves-input-wrapper{border-radius:.2em;vertical-align:bottom}.waves-input-wrapper.waves-button{padding:0}.waves-input-wrapper .waves-button-input{position:relative;top:0;left:0;z-index:1}.waves-circle{text-align:center;width:2.5em;height:2.5em;line-height:2.5em;border-radius:50%}.waves-float{-webkit-mask-image:none;-webkit-transition:all .3s;transition:all .3s}.waves-block{display:block}a.waves-effect .waves-ripple{z-index:-1}.uk-modal{z-index:1304;background:rgba(0,0,0,.5);-webkit-transition:opacity 250ms ease-out;transition:opacity 250ms ease-out;overflow:hidden!important}.uk-modal.uk-modal-no-backdrop{background:0 0}.uk-modal-dialog{border-radius:2px;box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22);padding:24px;display:block!important;-webkit-animation:none!important;animation:none!important;-webkit-transition:-webkit-transform 280ms cubic-bezier(.4,0,.2,1),opacity 280ms ease-in;transition:transform 280ms cubic-bezier(.4,0,.2,1),opacity 280ms ease-in;-webkit-transform:scale(0);transform:scale(0)}.uk-open .uk-modal-dialog{-webkit-transform:scale(1);transform:scale(1)}.uk-modal-dialog .uk-modal-header{background:0 0;border-bottom:none;margin:0 -24px 24px;padding:0 32px 0 24px;overflow:hidden}.uk-modal-dialog .uk-modal-header .uk-modal-title{margin:0;font:500 18px/28px Roboto,sans-serif}.uk-modal-dialog .uk-modal-header .uk-modal-title span{font-size:16px;display:block;color:#727272}.uk-modal-dialog .uk-modal-footer:after,.uk-modal-dialog .uk-modal-footer:before{content:" ";display:table}.uk-modal-dialog .uk-modal-footer{margin:16px -16px -16px;padding:16px;background:#fff;border-top:none}.uk-modal-dialog .uk-modal-footer:after{clear:both}.loader:before,.user-is-typing:after{content:''}.uk-modal-dialog .uk-modal-footer .md-icon-btn{margin-top:2px}.uk-modal-dialog .uk-modal-caption{bottom:16px;margin:0 32px}.uk-modal-dialog>.uk-close:first-child{top:8px;right:8px;position:absolute;float:none;margin:0}.uk-modal-dialog-lightbox{padding:0}.uk-modal-dialog-lightbox>.uk-close:first-child{top:-11px;right:-11px;box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23);border:none}.uk-modal-dialog .uk-overflow-container{margin:16px 0}.uk-modal .uk-margin.uk-modal-content{margin-bottom:0}.uk-modal.uk-modal-dialog-replace .uk-modal-content{font-size:18px}.showbox{position:absolute;top:0;bottom:0;left:0;right:0;padding:5%}.loader{position:relative;margin:0 auto;width:100px}#loader-wrapper,.circular{top:0;right:0;width:100%;height:100%;position:absolute;left:0;bottom:0}.loader:before{display:block;padding-top:100%}.circular{animation:rotate 2s linear infinite;transform-origin:center center;margin:auto}.path{stroke-dasharray:1,200;stroke-dashoffset:0;animation:dash 1.5s ease-in-out infinite,color 6s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{100%{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px}}@keyframes color{0%,100%,40%,66%,80%,90%{stroke:#eee}}#loader-wrapper{background:#ddd;z-index:999999}@keyframes bounceC{0%,100%{-webkit-transform:translateY(0)}50%{-webkit-transform:translateY(-700%)}}@keyframes bounce{0%{-webkit-transform:scaleY(.6) translateY(50%)}50%{-webkit-transform:scaleY(1.02) translateY(-10%)}100%{-webkit-transform:scaleY(.7) translateY(40%)}}.t path{animation:bounce .7s infinite alternate ease-in-out;-webkit-animation:bounce .7s infinite alternate ease-in-out}.t circle{-webkit-animation:bounceC .7s infinite alternate ease-in-out}.test-wrapper{width:280px;height:150px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.loader-wrapper{width:100%;height:100%}.loader-wrapper svg.t{position:absolute;top:0;left:30%;transform-origin:0 100%;-ms-transform-origin:0 100%;-webkit-transform-origin:13px 100%;transform:scale(1.5)}.loader-wrapper svg.t circle{fill:#E74C3C}.loader-wrapper svg.t path{transform-origin:50% 100%;-ms-transform-origin:50% 100%;-webkit-transform-origin:50% 100%}.loader-wrapper svg path{fill:#323232}.shadow{animation:expand .35s infinite alternate ease-in-out;-webkit-animation:expand .35s infinite alternate ease-in-out}.shadow-wrapper{width:280px;height:150px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes expand{0%{opacity:.5}100%{opacity:.2}}.user-is-typing-wrapper{position:relative;min-height:40px;clear:both}.user-is-typing-wrapper .chat-user-profile{height:34px;width:34px;position:absolute;left:5px;display:block}.user-is-typing-wrapper .chat-user-profile img{width:34px;height:34px;border-radius:5px}.user-is-typing-wrapper .chat-user-profile.smaller,.user-is-typing-wrapper .chat-user-profile.smaller img{width:30px;height:30px}.user-is-typing{width:50px;height:25px;background-color:#fff;margin:0 0 0 52px;border-radius:4px;border:1px solid rgba(0,0,0,.18);position:relative;padding:0 10px 8px;display:flex;justify-content:space-around;align-items:flex-end}.user-is-typing:after{position:absolute;width:8px;height:13px;top:5px;right:100%;background:url(/img/chat-arrow.png) no-repeat #fff;background-size:auto}.user-is-typing.hide-arrow:after{content:none}.user-is-typing .dot{display:inline-block;background-color:#90949c;border-radius:50%;width:5px;height:5px;animation:jump 1.5s linear infinite}.user-is-typing .dot:nth-of-type(2){animation-delay:.1s}.user-is-typing .dot:nth-of-type(3){animation-delay:.2s}@keyframes jump{0%,100%,36%{transform:translateY(0)}18%{transform:translateY(-7px)}}.c3-chart-arc text{font-size:10px!important}.tru-card-intro{transform:scale(0);opacity:.02}input:not([type]),input[type=text],input[type=password],input[type=datetime],input[type=datetime-local],input[type=date],input[type=month],input[type=time],input[type=week],input[type=number],input[type=email],input[type=url],input[type=search],input[type=tel],input[type=color],select,textarea{outline:0}select[disabled]{-moz-appearance:none;-webkit-appearance:none}select[disabled]::-ms-expand{display:none}input:not([type]).md-input,input[type=text].md-input,input[type=password].md-input,input[type=datetime].md-input,input[type=datetime-local].md-input,input[type=date].md-input,input[type=month].md-input,input[type=time].md-input,input[type=week].md-input,input[type=number].md-input,input[type=email].md-input,input[type=url].md-input,input[type=search].md-input,input[type=tel].md-input,input[type=color].md-input,select.md-input,textarea.md-input{border-radius:0;border-width:0 0 1px;border-style:solid;border-color:rgba(0,0,0,.12);font:400 15px/18px Roboto,sans-serif;box-shadow:inset 0 -1px 0 transparent;box-sizing:border-box;padding:12px 4px;background:0 0;width:100%;display:block}input:not([type]).md-input.md-input-danger,input[type=text].md-input.md-input-danger,input[type=password].md-input.md-input-danger,input[type=datetime].md-input.md-input-danger,input[type=datetime-local].md-input.md-input-danger,input[type=date].md-input.md-input-danger,input[type=month].md-input.md-input-danger,input[type=time].md-input.md-input-danger,input[type=week].md-input.md-input-danger,input[type=number].md-input.md-input-danger,input[type=email].md-input.md-input-danger,input[type=url].md-input.md-input-danger,input[type=search].md-input.md-input-danger,input[type=tel].md-input.md-input-danger,input[type=color].md-input.md-input-danger,select.md-input.md-input-danger,textarea.md-input.md-input-danger{border-color:#e53935}input:not([type]).md-input.md-input-danger:focus,input[type=text].md-input.md-input-danger:focus,input[type=password].md-input.md-input-danger:focus,input[type=datetime].md-input.md-input-danger:focus,input[type=datetime-local].md-input.md-input-danger:focus,input[type=date].md-input.md-input-danger:focus,input[type=month].md-input.md-input-danger:focus,input[type=time].md-input.md-input-danger:focus,input[type=week].md-input.md-input-danger:focus,input[type=number].md-input.md-input-danger:focus,input[type=email].md-input.md-input-danger:focus,input[type=url].md-input.md-input-danger:focus,input[type=search].md-input.md-input-danger:focus,input[type=tel].md-input.md-input-danger:focus,input[type=color].md-input.md-input-danger:focus,select.md-input.md-input-danger:focus,textarea.md-input.md-input-danger:focus{border-bottom-color:#e53935}input:not([type]).md-input.md-input-success,input[type=text].md-input.md-input-success,input[type=password].md-input.md-input-success,input[type=datetime].md-input.md-input-success,input[type=datetime-local].md-input.md-input-success,input[type=date].md-input.md-input-success,input[type=month].md-input.md-input-success,input[type=time].md-input.md-input-success,input[type=week].md-input.md-input-success,input[type=number].md-input.md-input-success,input[type=email].md-input.md-input-success,input[type=url].md-input.md-input-success,input[type=search].md-input.md-input-success,input[type=tel].md-input.md-input-success,input[type=color].md-input.md-input-success,select.md-input.md-input-success,textarea.md-input.md-input-success{border-color:#7cb342}input:not([type]).md-input.md-input-success:focus,input[type=text].md-input.md-input-success:focus,input[type=password].md-input.md-input-success:focus,input[type=datetime].md-input.md-input-success:focus,input[type=datetime-local].md-input.md-input-success:focus,input[type=date].md-input.md-input-success:focus,input[type=month].md-input.md-input-success:focus,input[type=time].md-input.md-input-success:focus,input[type=week].md-input.md-input-success:focus,input[type=number].md-input.md-input-success:focus,input[type=email].md-input.md-input-success:focus,input[type=url].md-input.md-input-success:focus,input[type=search].md-input.md-input-success:focus,input[type=tel].md-input.md-input-success:focus,input[type=color].md-input.md-input-success:focus,select.md-input.md-input-success:focus,textarea.md-input.md-input-success:focus{border-bottom-color:#7cb342}input:not([type]).md-input.md-input-nocolor,input[type=text].md-input.md-input-nocolor,input[type=password].md-input.md-input-nocolor,input[type=datetime].md-input.md-input-nocolor,input[type=datetime-local].md-input.md-input-nocolor,input[type=date].md-input.md-input-nocolor,input[type=month].md-input.md-input-nocolor,input[type=time].md-input.md-input-nocolor,input[type=week].md-input.md-input-nocolor,input[type=number].md-input.md-input-nocolor,input[type=email].md-input.md-input-nocolor,input[type=url].md-input.md-input-nocolor,input[type=search].md-input.md-input-nocolor,input[type=tel].md-input.md-input-nocolor,input[type=color].md-input.md-input-nocolor{border-color:rgba(0,0,0,.12)}select.md-input.md-input-nocolor:focus,textarea.md-input.md-input-nocolor:focus{border-bottom-color:#ccc}input:not([type]).md-input.md-input-nocolor:focus,input[type=text].md-input.md-input-nocolor:focus,input[type=password].md-input.md-input-nocolor:focus,input[type=datetime].md-input.md-input-nocolor:focus,input[type=datetime-local].md-input.md-input-nocolor:focus,input[type=date].md-input.md-input-nocolor:focus,input[type=month].md-input.md-input-nocolor:focus,input[type=time].md-input.md-input-nocolor:focus,input[type=week].md-input.md-input-nocolor:focus,input[type=number].md-input.md-input-nocolor:focus,input[type=email].md-input.md-input-nocolor:focus,input[type=url].md-input.md-input-nocolor:focus,input[type=search].md-input.md-input-nocolor:focus,input[type=tel].md-input.md-input-nocolor:focus,input[type=color].md-input.md-input-nocolor:focus{border-bottom-color:rgba(0,0,0,.12)}input:not([type]).md-input:focus,input[type=text].md-input:focus,input[type=password].md-input:focus,input[type=datetime].md-input:focus,input[type=datetime-local].md-input:focus,input[type=date].md-input:focus,input[type=month].md-input:focus,input[type=time].md-input:focus,input[type=week].md-input:focus,input[type=number].md-input:focus,input[type=email].md-input:focus,input[type=url].md-input:focus,input[type=search].md-input:focus,input[type=tel].md-input:focus,input[type=color].md-input:focus,select.md-input:focus,textarea.md-input:focus{background:0 0;border-color:rgba(0,0,0,.12)}input:not([type]).md-input-small,input[type=text].md-input-small,input[type=password].md-input-small,input[type=datetime].md-input-small,input[type=datetime-local].md-input-small,input[type=date].md-input-small,input[type=month].md-input-small,input[type=time].md-input-small,input[type=week].md-input-small,input[type=number].md-input-small,input[type=email].md-input-small,input[type=url].md-input-small,input[type=search].md-input-small,input[type=tel].md-input-small,input[type=color].md-input-small,select.md-input-small,textarea.md-input-small{padding:4px}.md-input-width-small{min-width:80px!important}.md-input-width-medium{min-width:160px!important}.md-input-width-large{min-width:320px!important}textarea.md-input{min-height:80px;resize:none;overflow:hidden;-webkit-transition:height .2s ease-out;transition:height .2s ease-out;line-height:24px}.md-input-wrapper{position:relative;padding-top:4px;width:100%;display:block}.md-input-wrapper .md-input-bar{display:block;position:absolute;bottom:0;left:0;width:100%}.md-input-wrapper .md-input-bar:after,.md-input-wrapper .md-input-bar:before{content:'';display:block;position:absolute;bottom:0;width:0;height:2px;background:#E74C3C;-webkit-transition:width .4s cubic-bezier(.4,0,.2,1);transition:width .4s cubic-bezier(.4,0,.2,1)}.md-input-wrapper .md-input-bar:before{left:50%}.md-input-wrapper .md-input-bar:after{right:50%}.md-input-wrapper>label{color:#727272;position:absolute;top:16px;left:4px;right:0;pointer-events:none;-webkit-transition:all 150ms ease-out;transition:all 150ms ease-out}.md-input-wrapper+*{margin-top:10px}.md-input-wrapper.md-input-wrapper-disabled>label{color:rgba(0,0,0,.26)}.md-input-wrapper.has-error>label{color:#d32f2f}.md-input-wrapper.has-error .md-input-bar{bottom:20px}.md-input-wrapper.has-error .md-input-bar.bottom-fix{bottom:0}.md-input-wrapper.has-error .md-input-bar.error-color:after,.md-input-wrapper.has-error .md-input-bar.error-color:before{background:#d32f2f!important}.md-input-wrapper .search-icon{position:absolute;top:20px;right:0;display:block;color:#727272;line-height:26px;border-bottom:1px solid rgba(0,0,0,.12)}.md-input-wrapper-count{padding-bottom:24px}.md-input-wrapper-count .md-input-bar{bottom:24px}.md-input-wrapper-count .text-count-wrapper{font-size:12px;position:absolute;right:0;bottom:0;opacity:0;-webkit-transition:opacity .2s ease-in;transition:opacity .2s ease-in}.md-input-wrapper-count>.md-input-wrapper-count .text-count-wrapper{position:absolute;bottom:0;right:0}.md-input-filled>label,.md-input-focus>label{top:-6px;font-size:12px}.md-input-filled.md-input-wrapper-count .text-count-wrapper,.md-input-focus.md-input-wrapper-count .text-count-wrapper{opacity:1}.md-input-focus .md-input-bar:after,.md-input-focus .md-input-bar:before{width:50%}.md-input-wrapper-danger .md-input-bar:after,.md-input-wrapper-danger .md-input-bar:before{background:#e53935}.md-input-wrapper-danger.md-input-wrapper-count .text-count-wrapper{color:#e53935}.md-input-wrapper-success .md-input-bar:after,.md-input-wrapper-success .md-input-bar:before{background:#7cb342}.md-input-wrapper-success.md-input-wrapper-count .text-count-wrapper{color:#7cb342}.md-input-wrapper-nocolor .md-input-bar:after,.md-input-wrapper-nocolor .md-input-bar:before{background:rgba(0,0,0,.5)}.md-input-wrapper-nocolor.md-input-wrapper-count .text-count-wrapper{color:rgba(0,0,0,.12)}.md-form-group{position:relative}label.md-label{color:#999;padding:0 6px;font-size:11px}.uk-grid-small{margin-top:15px!important}.uk-subnav-pill li a{transition:background-color .5s ease;border-radius:3px}.uk-subnav-pill li:not(.uk-active)>a:hover{background:#fff}.uk-badge,.uk-subnav-pill>.uk-active>*{background:#E74C3C}.uk-badge{padding:2px 6px;border:none;border-radius:2px;font-size:11px;line-height:15px;font-weight:400}.uk-badge.uk-badge-blue{background:#2196F3}.uk-badge.uk-badge-success{background:#29b955}.uk-badge.uk-badge-warning{background:#ffa000}.uk-badge.uk-badge-danger{background:#e53935}.uk-progress{background:#fff}.uk-margin-medium-bottom{margin-bottom:24px!important}.uk-margin-medium-top{margin-top:24px!important}.uk-margin-medium-left{margin-left:24px!important}.uk-margin-medium-right{margin-right:24px!important}.uk-padding-medium-sides{padding-left:24px!important;padding-right:24px!important}.uk-padding-small-sides{padding-left:12px!important;padding-right:12px!important}.uk-dropdown{background:#f5f5f5}.uk-dropdown.uk-datepicker{opacity:1;z-index:99999;transform:scale(1,1);-webkit-transform:scale(1,1)}.uk-button.uk-button-accent{background:#E74C3C;color:#fff;transition:all .4s ease;border:none;font:400 14px/16px "Source Sans Pro",sans-serif;text-shadow:none}.uk-button.uk-button-accent:active,.uk-button.uk-button-accent:focus,.uk-button.uk-button-accent:hover{color:#fff;background:#ea6153}table,table thead,table tr.alt,table tr.even,table tr:nth-of-type(even){background:inherit}.uk-tooltip-left:after{display:block!important;left:100%;top:50%;content:" ";height:0;width:0;position:absolute;pointer-events:none;border:5px solid rgba(136,183,213,0);border-left-color:#424242;margin-top:-5px}.title-shadow{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)!important}table{table-layout:auto;border-collapse:collapse;border-spacing:0;border:none}.img-caption{position:absolute;left:0;padding:14px;background:#42464d;color:#e0e0e0;height:100px;width:100%;top:auto;bottom:0;opacity:0;transform:translateY(100%);transition:transform .4s,opacity .1s .3s}.img-caption h3{margin:0 0 14px;padding:0;color:#fff;font-size:14px;font-weight:300}.img-caption span{font-style:italic;font-size:12px;line-height:14px;font-weight:300;color:rgba(255,255,255,.5)}.img-caption span:before{content:"Note: "}.img-caption a{text-align:center;padding:5px 10px;border-radius:2px;display:inline-block;background:#ed4e6e;color:#fff;position:absolute;bottom:20px;right:20px}.hoverEffect.mediumProfilePic,.largeProfilePic.hoverEffect{overflow:hidden}.hoverEffect.mediumProfilePic img,.largeProfilePic.hoverEffect img{transition:transform .4s}.no-touch .hoverEffect:hover img{transform:translateY(-55px)}.no-touch .hoverEffect:hover .img-caption{opacity:1;transform:translateY(0);transition:transform .4s,opacity .1s}.uk-dropdown.uk-datepicker{background:#f7f8fa}.uk-datepicker-nav{background:#595f69}.uk-datepicker-nav .uk-form-select,.uk-datepicker-nav a,.uk-datepicker-nav a:hover{color:#fff}.uk-datepicker-nav .uk-form-select option{color:#222}.uk-form-danger{background:0 0!important}.uk-datepicker-table a.uk-active{background:#595f69;color:#fff}.confirm-delete-button{color:#d32f2f!important}.confirm-delete-button:active,.confirm-delete-button:focus,.confirm-delete-button:hover{color:#d32f2f;background:#fceaea} \ No newline at end of file diff --git a/public/css/plugins.css b/public/css/plugins.css index 8b6a30171..9f238a81d 100644 --- a/public/css/plugins.css +++ b/public/css/plugins.css @@ -1,4 +1,14 @@ -.chosen-container,.pace{-webkit-user-select:none}.chosen-container a,table.DTTT_selectable tbody tr,table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_desc_disabled{cursor:pointer}.uk-modal-caption,.uk-text-truncate,.uk-tooltip .uk-tooltip-inner{text-overflow:ellipsis;white-space:nowrap}.enjoyhint_close_btn::after,.enjoyhint_close_btn::before{content:"";text-shadow:none}.chosen-container-multi .chosen-choices li.search-choice span,.uk-text-break{word-wrap:break-word}.uk-hidden,.uk-invisible{visibility:hidden!important}.uk-accordion-content:after,.uk-article:after,.uk-block:after,.uk-clearfix:after,.uk-comment-header:after,.uk-container:after,.uk-dotnav:after,.uk-form-row:after,.uk-grid:after,.uk-htmleditor-content:after,.uk-htmleditor-navbar:after,.uk-list>li:after,.uk-modal-dialog .uk-modal-footer:after,.uk-navbar:after,.uk-pagination:after,.uk-panel:after,.uk-subnav:after,.uk-tab:after,.uk-thumbnav:after,table.dataTable{clear:both}.uk-nestable a,.uk-nestable img,.uk-sortable a,.uk-sortable img{-webkit-touch-callout:none}div.DTS tbody td,div.DTS tbody th{white-space:nowrap}div.DTS tbody tr.even{background-color:#fff}div.DTS div.DTS_Loading{position:absolute;top:50%;left:50%;width:200px;height:20px;margin-top:-20px;margin-left:-100px;z-index:1;border:1px solid #999;padding:20px 0;text-align:center;background-color:#fff;background-color:rgba(255,255,255,.5)}div.DTS div.dataTables_scrollFoot,div.DTS div.dataTables_scrollHead{background-color:#fff}div.DTS div.dataTables_scrollBody{z-index:2}div.DTS div.dataTables_scroll{background:url(../images/loading-background.png)}div.dataTables_wrapper{margin-bottom:1.25em}div.dataTables_filter label,div.dataTables_info,div.dataTables_length label{color:#999;font-weight:400}div.dataTables_length label{float:left;text-align:left;margin-bottom:0}div.dataTables_length select{width:75px;margin-bottom:0}div.dataTables_filter label{float:right;margin-bottom:0}div.dataTables_filter input{display:inline-block!important;width:auto!important;margin-bottom:0}div.dataTables_info{padding-top:2px;font-size:.875em}div.dataTables_paginate{float:right;margin:0}table.dataTable{margin:.5em 0!important;max-width:none!important;width:100%}div.dataTables_scrollBody table,div.dataTables_scrollHead table{margin-bottom:0!important}div.dataTables_scrollBody table,div.dataTables_scrollFoot table{margin-top:0!important;border-top:none}table.dataTable thead .sorting{background:url(plugins/datatables/images/sort_both.png) center right no-repeat}table.dataTable thead .sorting_asc{background:url(plugins/datatables/images/sort_asc.png) center right no-repeat}table.dataTable thead .sorting_desc{background:url(plugins/datatables/images/sort_desc.png) center right no-repeat}table.dataTable thead .sorting_asc_disabled{background:url(plugins/datatables/images/sort_asc_disabled.png) center right no-repeat}table.dataTable thead .sorting_desc_disabled{background:url(plugins/datatables/images/sort_desc_disabled.png) center right no-repeat}table.dataTable th:active{outline:0}div.dataTables_scrollBody tbody tr:first-child td,div.dataTables_scrollBody tbody tr:first-child th{border-top:none}.table tbody tr.active td,.table tbody tr.active th{background-color:#08C;color:#fff}.table tbody tr.active:hover td,.table tbody tr.active:hover th{background-color:#0075b0!important}.table-striped tbody tr.active:nth-child(odd) td,.table-striped tbody tr.active:nth-child(odd) th{background-color:#017ebc}div.DTTT{float:left;margin-bottom:0}div.DTTT .button:hover{text-decoration:none!important}ul.DTTT_dropdown.dropdown-menu li{position:relative}ul.DTTT_dropdown.dropdown-menu li:hover a{background-color:#08c;color:#fff!important}.DTTT_print_info{position:fixed;top:50%;left:50%;width:400px;height:150px;margin-left:-200px;margin-top:-75px;text-align:center;color:#333;padding:10px 30px;background:#fff;background:-webkit-linear-gradient(top,#fff 0,#f3f3f3 89%,#f9f9f9 100%);background:-moz-linear-gradient(top,#fff 0,#f3f3f3 89%,#f9f9f9 100%);background:-ms-linear-gradient(top,#fff 0,#f3f3f3 89%,#f9f9f9 100%);background:-o-linear-gradient(top,#fff 0,#f3f3f3 89%,#f9f9f9 100%);background:linear-gradient(top,#fff 0,#f3f3f3 89%,#f9f9f9 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f9f9f9', GradientType=0 );opacity:.95;border:1px solid #000;border:1px solid rgba(0,0,0,.5);-webkit-border-radius:6px;-moz-border-radius:6px;-ms-border-radius:6px;-o-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,.5);-moz-box-shadow:0 3px 7px rgba(0,0,0,.5);-ms-box-shadow:0 3px 7px rgba(0,0,0,.5);-o-box-shadow:0 3px 7px rgba(0,0,0,.5);box-shadow:0 3px 7px rgba(0,0,0,.5)}div.DTTT_print_info h6{font-weight:400;font-size:28px;line-height:28px;margin:1em}div.DTTT_print_info p{font-size:14px;line-height:20px}div.DTFC_LeftFootWrapper table,div.DTFC_LeftHeadWrapper table,table.DTFC_Cloned tr.even{background-color:#fff}div.DTFC_LeftHeadWrapper table{margin-bottom:0!important}div.DTFC_LeftBodyWrapper table{border-top:none;margin-bottom:0!important}div.DTFC_LeftBodyWrapper tbody tr:first-child td,div.DTFC_LeftBodyWrapper tbody tr:first-child th,div.DTFC_LeftFootWrapper table{border-top:none}.chosen-container{position:relative;display:inline-block;vertical-align:middle;font-size:13px;zoom:1;-moz-user-select:none;user-select:none}.chosen-container *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.chosen-container .chosen-drop{position:absolute;top:100%;left:-9999px;z-index:1010;width:100%;border:1px solid #aaa;border-top:0;background:#fff;box-shadow:0 4px 5px rgba(0,0,0,.15)}.chosen-container.chosen-with-drop .chosen-drop{left:0}.chosen-container-single .chosen-single{position:relative;display:block;overflow:hidden;padding:0 0 0 8px;height:25px;border:1px solid #aaa;border-radius:5px;background-color:#fff;background:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#fff),color-stop(50%,#f6f6f6),color-stop(52%,#eee),color-stop(100%,#f4f4f4));background:-webkit-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:-moz-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:-o-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background-clip:padding-box;box-shadow:0 0 3px #fff inset,0 1px 1px rgba(0,0,0,.1);color:#444;text-decoration:none;white-space:nowrap;line-height:24px}.chosen-container-single .chosen-default{color:#999}.chosen-container-single .chosen-single span{display:block;overflow:hidden;margin-right:26px;text-overflow:ellipsis;white-space:nowrap}.enjoyhint_btn,.enjoyhint_close_btn,.enjoyhint_close_btn::after,.enjoyhint_close_btn::before,.enjoyhint_next_btn,.enjoyhint_skip_btn{-o-text-overflow:clip;text-overflow:clip}.chosen-container-single .chosen-single-with-deselect span{margin-right:38px}.chosen-container-single .chosen-single abbr{position:absolute;top:6px;right:26px;display:block;width:12px;height:12px;background:url(/js/vendor/chosen/chosen-sprite.png) -42px 1px no-repeat;font-size:1px}.chosen-container-single .chosen-single abbr:hover,.chosen-container-single.chosen-disabled .chosen-single abbr:hover{background-position:-42px -10px}.chosen-container-single .chosen-single div{position:absolute;top:0;right:0;display:block;width:18px;height:100%}.chosen-container-single .chosen-single div b{display:block;width:100%;height:100%;background:url(/js/vendor/chosen/chosen-sprite.png) 0 2px no-repeat}.chosen-container-single .chosen-search{position:relative;z-index:1010;margin:0;padding:3px 4px;white-space:nowrap}.chosen-container-single .chosen-search input[type=text]{margin:1px 0;padding:4px 20px 4px 5px;width:100%;height:auto;outline:0;border:1px solid #aaa;background:url(/js/vendor/chosen/chosen-sprite.png) 100% -20px no-repeat;font-size:1em;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-single .chosen-drop{margin-top:-1px;border-radius:0 0 4px 4px;background-clip:padding-box}.chosen-container-single.chosen-container-single-nosearch .chosen-search{position:absolute;left:-9999px}.chosen-container .chosen-results{color:#444;position:relative;overflow-x:hidden;overflow-y:auto;margin:0 4px 4px 0;padding:0 0 0 4px;max-height:240px;-webkit-overflow-scrolling:touch}.chosen-container .chosen-results li{display:none;margin:0;padding:5px 6px;list-style:none;line-height:15px;word-wrap:break-word;-webkit-touch-callout:none}.chosen-container .chosen-results li.active-result{display:list-item;cursor:pointer}.chosen-container .chosen-results li.disabled-result{display:list-item;color:#ccc;cursor:default}.chosen-container .chosen-results li.highlighted{background-color:#3875d7;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#3875d7),color-stop(90%,#2a62bc));background-image:-webkit-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:-moz-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:-o-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:linear-gradient(#3875d7 20%,#2a62bc 90%);color:#fff}.chosen-container .chosen-results li.no-results{color:#777;display:list-item;background:#f4f4f4}.chosen-container .chosen-results li.group-result{display:list-item;font-weight:700;cursor:default}.chosen-container .chosen-results li.group-option{padding-left:15px}.chosen-container .chosen-results li em{font-style:normal;text-decoration:underline}.chosen-container-multi .chosen-choices{position:relative;overflow:hidden;margin:0;padding:0 5px;width:100%;height:auto!important;height:1%;border:1px solid #aaa;background-color:#fff;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(1%,#eee),color-stop(15%,#fff));background-image:-webkit-linear-gradient(#eee 1%,#fff 15%);background-image:-moz-linear-gradient(#eee 1%,#fff 15%);background-image:-o-linear-gradient(#eee 1%,#fff 15%);background-image:linear-gradient(#eee 1%,#fff 15%);cursor:text}.chosen-container-multi .chosen-choices li{float:left;list-style:none}.chosen-container-multi .chosen-choices li.search-field{margin:0;padding:0;white-space:nowrap}.chosen-container-multi .chosen-choices li.search-field input[type=text]{margin:1px 0;padding:0;height:25px;outline:0;border:0!important;background:0 0!important;box-shadow:none;color:#999;font-size:100%;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-multi .chosen-choices li.search-choice{position:relative;margin:3px 5px 3px 0;padding:3px 20px 3px 5px;border:1px solid #aaa;max-width:100%;border-radius:3px;background-color:#eee;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-moz-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-o-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-size:100% 19px;background-repeat:repeat-x;background-clip:padding-box;box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05);color:#333;line-height:13px;cursor:default}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{position:absolute;top:4px;right:3px;display:block;width:12px;height:12px;background:url(/js/vendor/chosen/chosen-sprite.png) -42px 1px no-repeat;font-size:1px}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover{background-position:-42px -10px}.chosen-container-multi .chosen-choices li.search-choice-disabled{padding-right:5px;border:1px solid #ccc;background-color:#e4e4e4;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-moz-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-o-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);color:#666}.chosen-container-multi .chosen-choices li.search-choice-focus{background:#d4d4d4}.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close{background-position:-42px -10px}.chosen-container-multi .chosen-results{margin:0;padding:0}.chosen-container-multi .chosen-drop .result-selected{display:list-item;color:#ccc;cursor:default}.enjoyhint_hide,.pace-inactive{display:none}.chosen-container-active .chosen-single{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active.chosen-with-drop .chosen-single{border:1px solid #aaa;-moz-border-radius-bottomright:0;border-bottom-right-radius:0;-moz-border-radius-bottomleft:0;border-bottom-left-radius:0;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#eee),color-stop(80%,#fff));background-image:-webkit-linear-gradient(#eee 20%,#fff 80%);background-image:-moz-linear-gradient(#eee 20%,#fff 80%);background-image:-o-linear-gradient(#eee 20%,#fff 80%);background-image:linear-gradient(#eee 20%,#fff 80%);box-shadow:0 1px 0 #fff inset}.chosen-container-active.chosen-with-drop .chosen-single div{border-left:none;background:0 0}.chosen-container-active.chosen-with-drop .chosen-single div b{background-position:-18px 2px}.chosen-container-active .chosen-choices{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active .chosen-choices li.search-field input[type=text]{color:#222!important}.chosen-disabled{opacity:.5!important;cursor:default}.chosen-disabled .chosen-choices .search-choice .search-choice-close,.chosen-disabled .chosen-single{cursor:default}.chosen-rtl{text-align:right}.chosen-rtl .chosen-single{overflow:visible;padding:0 8px 0 0}.enjoyhint,svg:not(:root){overflow:hidden}.chosen-rtl .chosen-single span{margin-right:0;margin-left:26px;direction:rtl}.chosen-rtl .chosen-single-with-deselect span{margin-left:38px}.chosen-rtl .chosen-single div{right:auto;left:3px}.chosen-rtl .chosen-single abbr{right:auto;left:26px}.chosen-rtl .chosen-choices li{float:right}.chosen-rtl .chosen-choices li.search-field input[type=text]{direction:rtl}.chosen-rtl .chosen-choices li.search-choice{margin:3px 5px 3px 0;padding:3px 5px 3px 19px}.chosen-rtl .chosen-choices li.search-choice .search-choice-close{right:auto;left:4px}.chosen-rtl .chosen-drop,.chosen-rtl.chosen-container-single-nosearch .chosen-search{left:9999px}.enjoyhint,.pace .pace-progress{position:fixed;width:100%;top:0;left:0}.chosen-rtl.chosen-container-single .chosen-results{margin:0 0 4px 4px;padding:0 4px 0 0}.chosen-rtl .chosen-results li.group-option{padding-right:15px;padding-left:0}.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div{border-right:none}.chosen-rtl .chosen-search input[type=text]{padding:4px 5px 4px 20px;background:url(/js/vendor/chosen/chosen-sprite.png) -30px -20px no-repeat;direction:rtl}.chosen-rtl.chosen-container-single .chosen-single div b{background-position:6px 2px}.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b{background-position:-12px 2px}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-resolution:1.5dppx){.chosen-container .chosen-results-scroll-down span,.chosen-container .chosen-results-scroll-up span,.chosen-container-multi .chosen-choices .search-choice .search-choice-close,.chosen-container-single .chosen-search input[type=text],.chosen-container-single .chosen-single abbr,.chosen-container-single .chosen-single div b,.chosen-rtl .chosen-search input[type=text]{background-image:url(/js/vendor/chosen/chosen-sprite@2x.png)!important;background-size:52px 37px!important;background-repeat:no-repeat!important}}.pace{-webkit-pointer-events:none;pointer-events:none;-moz-user-select:none;user-select:none}.pace .pace-progress{background:#fff;z-index:2000;height:5px}.enjoyhint_next_btn,.enjoyhint_skip_btn{font:normal normal normal 17px/40px "Advent Pro",Helvetica,sans-serif;-webkit-border-radius:40px;border-radius:40px}.enjoyhint_btn,.enjoyhint_close_btn,.enjoyhint_close_btn::after,.enjoyhint_close_btn::before,.enjoyhint_next_btn,.enjoyhint_skip_btn{-webkit-box-sizing:content-box}.enjoyhint_btn,.enjoyhint_close_btn,.enjoyhint_close_btn::after,.enjoyhint_next_btn,.enjoyhint_skip_btn{-moz-box-sizing:content-box}@font-face{font-family:casino_handregular;src:url(Casino_Hand/casino_hand-webfont.eot);src:url(Casino_Hand/casino_hand-webfont.eot?#iefix) format('embedded-opentype'),url(Casino_Hand/casino_hand-webfont.woff) format('woff'),url(Casino_Hand/casino_hand-webfont.ttf) format('truetype'),url(Casino_Hand/casino_hand-webfont.svg#casino_handregular) format('svg');font-weight:400;font-style:normal}.enjoyhint{height:100%;z-index:1010;pointer-events:none}.enjoyhint_close_btn,.enjoyhint_next_btn,.enjoyhint_skip_btn{z-index:1012;pointer-events:all}.enjoyhint_close_btn,.fa,.fa-stack{display:inline-block}.enjoyhint_close_btn::after,.enjoyhint_close_btn::before{background:#fff;border:none;color:rgba(0,0,0,1);display:inline-block}.enjoyhint_disable_events{position:absolute;width:2000px;height:1500px;z-index:1011;pointer-events:all}.enjoyhint_next_btn,.enjoyhint_skip_btn{width:100px;height:40px;box-sizing:content-box;margin:0 auto;text-align:center;letter-spacing:1px;cursor:pointer}#kinetic_container,.enjoyhint_canvas{pointer-events:none;position:absolute}.enjoyhint_next_btn{position:absolute;border:2px solid #1ecd97;background:0 0;-webkit-transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0);-moz-transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0);-o-transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0);transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0)}.enjoyhint_next_btn:hover{color:rgba(255,255,255,1);background:#1ecd97}.enjoyhint_next_btn:active{border:2px solid rgba(33,224,163,1);background:rgba(33,224,163,1);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.enjoyhint_btn,.enjoyhint_skip_btn{-o-transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0)}.enjoyhint_skip_btn{position:absolute;border:2px solid #1ecd97;background:0 0;-webkit-transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0);-moz-transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0);transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0)}.enjoyhint_close_btn:active,.enjoyhint_skip_btn:active{transition:none;-webkit-transition:none;-moz-transition:none}.enjoyhint_skip_btn:hover{color:rgba(255,255,255,1);background:#1ecd97}.enjoyhint_skip_btn:active{border:2px solid rgba(33,224,163,1);background:rgba(33,224,163,1);-o-transition:none}.enjoyhint_close_btn{position:absolute;box-sizing:content-box;width:.3em;height:.3em;border:none;-webkit-border-radius:1em;border-radius:1em;font:400 8em/normal Arial,Helvetica,sans-serif;background:0 0;border:2px solid rgba(33,224,163,1)}.enjoyhint_close_btn::after,.enjoyhint_close_btn::before{width:73%;height:2px;font:400 100%/normal Arial,Helvetica,sans-serif}.enjoyhint_close_btn::before{-moz-box-sizing:content-box;box-sizing:content-box;position:absolute;top:48%;left:14%;-webkit-transform:rotateZ(45deg);transform:rotateZ(45deg)}.enjoyhint_btn,hr{box-sizing:content-box}.enjoyhint_close_btn::after{box-sizing:content-box;position:absolute;top:46%;left:15%;-webkit-transform:rotateZ(-45deg);transform:rotateZ(-45deg)}.fa-glass:before,.uk-icon-glass:before{content:"\f000"}#kinetic_container,.enjoyhint_svg_wrapper,.enjoyhint_svg_wrapper svg{width:100%;height:100%;top:0;left:0}.enjoyhint_close_btn:hover{color:rgba(255,255,255,1);background:#1ecd97;cursor:pointer}.enjoyhint_close_btn:active{border:2px solid rgba(33,224,163,1);background:rgba(33,224,163,1);-o-transition:none}.enjoyhint_btn{width:150px;height:40px;cursor:pointer;margin:0 auto;border:2px solid #1ecd97;-webkit-border-radius:40px;border-radius:40px;font:normal normal normal 17px/40px "Advent Pro",Helvetica,sans-serif;color:#1ecd97;text-align:center;letter-spacing:1px;background:0 0;-webkit-transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0);-moz-transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0);transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0)}.enjoyhint_btn:hover{color:rgba(255,255,255,1);background:#1ecd97}.enjoyhint_btn:active{border:2px solid rgba(33,224,163,1);background:rgba(33,224,163,1);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.enjoy_hint_label,.enjoyhint_svg_wrapper{-moz-transition:opacity .4s cubic-bezier(.42,0,.58,1);transition:opacity .4s cubic-bezier(.42,0,.58,1);-webkit-transition:opacity .4s cubic-bezier(.42,0,.58,1)}.uk-overlay-area,.uk-thumbnav>*>*>img{-webkit-transition:opacity .15s linear}.enjoyhint div.canvas-container{position:absolute}.enjoyhint_canvas{z-index:100;width:100%;height:100%}.enjoyhint_svg_wrapper{position:absolute;z-index:100}.enjoyhint_svg_wrapper svg{position:absolute}.enjoyhint_svg_transparent .enjoy_hint_label,.enjoyhint_svg_transparent .enjoyhint_svg_wrapper{opacity:0}.enjoy_hint_label{position:absolute;color:#fff;z-index:107;font-size:22px;font-family:casino_handregular,Arial}div.kineticjs-content{position:absolute!important}.enjoyhint_close_btn,.enjoyhint_next_btn,.enjoyhint_skip_btn{border-color:#e74c3c;color:#e74c3c}.enjoyhint_close_btn:active,.enjoyhint_close_btn:focus,.enjoyhint_close_btn:hover,.enjoyhint_next_btn:active,.enjoyhint_next_btn:focus,.enjoyhint_next_btn:hover,.enjoyhint_skip_btn:active,.enjoyhint_skip_btn:focus,.enjoyhint_skip_btn:hover{border-color:#e74c3c;background-color:#e74c3c}.mg-active-datapoint{fill:#000;font-size:.9rem;font-weight:400;opacity:.8}.mg-area1-color{fill:#00f}.mg-area2-color{fill:#05b378}.mg-area3-color{fill:#db4437}.mg-area4-color{fill:#f8b128}.mg-area5-color{fill:#5c5c5c}.mg-barplot rect.mg-bar{shape-rendering:auto;fill:#b6b6fc}.mg-barplot rect.mg-bar.active{fill:#9e9efc}.mg-barplot .mg-bar-prediction{fill:#5b5b5b}.mg-barplot .mg-bar-baseline{stroke:#5b5b5b;stroke-width:2}.mg-baselines line{opacity:1;shape-rendering:auto;stroke:#b3b2b2;stroke-width:1px}.mg-baselines text{fill:#000;font-size:.9rem;opacity:.6;stroke:none}.mg-baselines-small text{font-size:.6rem}.mg-header{cursor:default;font-size:1.2rem}.mg-header .mg-chart-description{fill:#ccc;font-family:FontAwesome;font-size:1.2rem}.mg-points circle{opacity:.65}.mg-popover{font-size:.95rem}.mg-popover-content{cursor:auto;line-height:17px}.mg-data-table{margin-top:30px}.mg-data-table thead tr th{border-bottom:1px solid #a9a9a9;cursor:default;font-size:1.1rem;font-weight:400;padding:5px 5px 8px;text-align:right}.mg-data-table thead tr th .fa{color:#ccc;padding-left:4px}.mg-data-table thead tr th .popover{font-size:1rem;font-weight:400}.mg-data-table .secondary-title{color:#a9a9a9}.mg-data-table tbody tr td{margin:2px;padding:5px;vertical-align:top}.fa.fa-pull-left,.fa.pull-left{margin-right:.3em}.mg-data-table tbody tr td.table-text{opacity:.8;padding-left:30px}.mg-x-axis line.mg-extended-x-ticks,.mg-y-axis line.mg-extended-y-ticks{opacity:.4}.mg-histogram .axis line,.mg-histogram .axis path{fill:none;opacity:.7;shape-rendering:auto;stroke:#ccc}.mg-histogram .mg-bar rect{fill:#b6b6fc;shape-rendering:auto}.mg-histogram .mg-bar rect.active{fill:#9e9efc}.mg-least-squares-line{stroke:red;stroke-width:1px}.mg-lowess-line{fill:none;stroke:red}.mg-line1-color{stroke:#4040e8}.mg-hover-line1-color{fill:#4040e8}.mg-line2-color{stroke:#05b378}.mg-hover-line2-color{fill:#05b378}.mg-line3-color{stroke:#db4437}.mg-hover-line3-color{fill:#db4437}.mg-line4-color{stroke:#f8b128}.mg-hover-line4-color{fill:#f8b128}.mg-line5-color{stroke:#5c5c5c}.mg-hover-line5-color{fill:#5c5c5c}.mg-line-legend text{font-size:.9rem;font-weight:300;stroke:none}.mg-line1-legend-color{color:#4040e8;fill:#4040e8}.mg-line2-legend-color{color:#05b378;fill:#05b378}.mg-line3-legend-color{color:#db4437;fill:#db4437}.mg-line4-legend-color{color:#f8b128;fill:#f8b128}.mg-line5-legend-color{color:#5c5c5c;fill:#5c5c5c}.fa-inverse,.simplecolorpicker span.color[data-selected]:after{color:#fff}.mg-main-area-solid svg .mg-main-area{fill:#ccf;opacity:1}.mg-markers line{opacity:1;shape-rendering:auto;stroke:#b3b2b2;stroke-width:1px}.mg-markers text{fill:#000;font-size:.8rem;opacity:.6}.mg-missing-text{opacity:.9}.mg-missing-background{stroke:#00f;fill:none;stroke-dasharray:10,5;stroke-opacity:.05;stroke-width:2}.mg-missing .mg-main-line{opacity:.1}.mg-missing .mg-main-area{opacity:.03}path.mg-main-area{opacity:.2;stroke:none}path.mg-confidence-band{fill:#ccc;opacity:.4;stroke:none}path.mg-main-line{fill:none;opacity:.8;stroke-width:1.1px}.mg-points circle{fill-opacity:.4;stroke-opacity:1}circle.mg-points-mono{fill:#00f;stroke:#00f}.mg-points circle.selected{fill-opacity:1;stroke-opacity:1}.mg-voronoi path{fill:none;pointer-events:all;stroke:none;stroke-opacity:.1}.mg-x-rug-mono,.mg-y-rug-mono{stroke:#000}.mg-x-axis line,.mg-y-axis line{opacity:1;shape-rendering:auto;stroke:#b3b2b2;stroke-width:1px}.mg-histogram .axis text,.mg-x-axis text,.mg-y-axis text{fill:#000;font-size:.9rem;opacity:.6}.mg-axis .label,.mg-x-axis .label,.mg-y-axis .label{font-size:.8rem;text-transform:uppercase;font-weight:400}.uk-article-title,.uk-panel-title{text-transform:none;font-weight:400}.mg-active-datapoint-small,.mg-x-axis-small text,.mg-y-axis-small text{font-size:.6rem}.mg-x-axis-small .label,.mg-y-axis-small .label{font-size:.65rem}.mg-year-marker text{fill:#000;font-size:.7rem;opacity:.6}.mg-year-marker line{opacity:1;shape-rendering:auto;stroke:#b3b2b2;stroke-width:1px}.mg-year-marker-small text{font-size:.6rem}/*! +.chosen-container,.pace{-webkit-user-select:none}.chosen-container a,table.DTTT_selectable tbody tr,table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_desc_disabled{cursor:pointer}.uk-modal-caption,.uk-text-truncate,.uk-tooltip .uk-tooltip-inner{text-overflow:ellipsis;white-space:nowrap}.enjoyhint_close_btn::after,.enjoyhint_close_btn::before{content:"";text-shadow:none}.chosen-container-multi .chosen-choices li.search-choice span,.uk-text-break{word-wrap:break-word}.uk-hidden,.uk-invisible{visibility:hidden!important}.uk-accordion-content:after,.uk-article:after,.uk-block:after,.uk-clearfix:after,.uk-comment-header:after,.uk-container:after,.uk-dotnav:after,.uk-form-row:after,.uk-grid:after,.uk-htmleditor-content:after,.uk-htmleditor-navbar:after,.uk-list>li:after,.uk-modal-dialog .uk-modal-footer:after,.uk-navbar:after,.uk-pagination:after,.uk-panel:after,.uk-subnav:after,.uk-tab:after,.uk-thumbnav:after,table.dataTable{clear:both}.uk-nestable a,.uk-nestable img,.uk-sortable a,.uk-sortable img{-webkit-touch-callout:none}div.DTS tbody td,div.DTS tbody th{white-space:nowrap}div.DTS tbody tr.even{background-color:#fff}div.DTS div.DTS_Loading{position:absolute;top:50%;left:50%;width:200px;height:20px;margin-top:-20px;margin-left:-100px;z-index:1;border:1px solid #999;padding:20px 0;text-align:center;background-color:#fff;background-color:rgba(255,255,255,.5)}div.DTS div.dataTables_scrollFoot,div.DTS div.dataTables_scrollHead{background-color:#fff}div.DTS div.dataTables_scrollBody{z-index:2}div.DTS div.dataTables_scroll{background:url(../images/loading-background.png)}div.dataTables_wrapper{margin-bottom:1.25em}div.dataTables_filter label,div.dataTables_info,div.dataTables_length label{color:#999;font-weight:400}div.dataTables_length label{float:left;text-align:left;margin-bottom:0}div.dataTables_length select{width:75px;margin-bottom:0}div.dataTables_filter label{float:right;margin-bottom:0}div.dataTables_filter input{display:inline-block!important;width:auto!important;margin-bottom:0}div.dataTables_info{padding-top:2px;font-size:.875em}div.dataTables_paginate{float:right;margin:0}table.dataTable{margin:.5em 0!important;max-width:none!important;width:100%}div.dataTables_scrollBody table,div.dataTables_scrollHead table{margin-bottom:0!important}div.dataTables_scrollBody table,div.dataTables_scrollFoot table{margin-top:0!important;border-top:none}table.dataTable thead .sorting{background:url(plugins/datatables/images/sort_both.png) center right no-repeat}table.dataTable thead .sorting_asc{background:url(plugins/datatables/images/sort_asc.png) center right no-repeat}table.dataTable thead .sorting_desc{background:url(plugins/datatables/images/sort_desc.png) center right no-repeat}table.dataTable thead .sorting_asc_disabled{background:url(plugins/datatables/images/sort_asc_disabled.png) center right no-repeat}table.dataTable thead .sorting_desc_disabled{background:url(plugins/datatables/images/sort_desc_disabled.png) center right no-repeat}table.dataTable th:active{outline:0}div.dataTables_scrollBody tbody tr:first-child td,div.dataTables_scrollBody tbody tr:first-child th{border-top:none}.table tbody tr.active td,.table tbody tr.active th{background-color:#08C;color:#fff}.table tbody tr.active:hover td,.table tbody tr.active:hover th{background-color:#0075b0!important}.table-striped tbody tr.active:nth-child(odd) td,.table-striped tbody tr.active:nth-child(odd) th{background-color:#017ebc}div.DTTT{float:left;margin-bottom:0}div.DTTT .button:hover{text-decoration:none!important}ul.DTTT_dropdown.dropdown-menu li{position:relative}ul.DTTT_dropdown.dropdown-menu li:hover a{background-color:#08c;color:#fff!important}.DTTT_print_info{position:fixed;top:50%;left:50%;width:400px;height:150px;margin-left:-200px;margin-top:-75px;text-align:center;color:#333;padding:10px 30px;background:#fff;background:-webkit-linear-gradient(top,#fff 0,#f3f3f3 89%,#f9f9f9 100%);background:-moz-linear-gradient(top,#fff 0,#f3f3f3 89%,#f9f9f9 100%);background:-ms-linear-gradient(top,#fff 0,#f3f3f3 89%,#f9f9f9 100%);background:-o-linear-gradient(top,#fff 0,#f3f3f3 89%,#f9f9f9 100%);background:linear-gradient(top,#fff 0,#f3f3f3 89%,#f9f9f9 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f9f9f9', GradientType=0 );opacity:.95;border:1px solid #000;border:1px solid rgba(0,0,0,.5);-webkit-border-radius:6px;-moz-border-radius:6px;-ms-border-radius:6px;-o-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,.5);-moz-box-shadow:0 3px 7px rgba(0,0,0,.5);-ms-box-shadow:0 3px 7px rgba(0,0,0,.5);-o-box-shadow:0 3px 7px rgba(0,0,0,.5);box-shadow:0 3px 7px rgba(0,0,0,.5)}div.DTTT_print_info h6{font-weight:400;font-size:28px;line-height:28px;margin:1em}div.DTTT_print_info p{font-size:14px;line-height:20px}div.DTFC_LeftFootWrapper table,div.DTFC_LeftHeadWrapper table,table.DTFC_Cloned tr.even{background-color:#fff}div.DTFC_LeftHeadWrapper table{margin-bottom:0!important}div.DTFC_LeftBodyWrapper table{border-top:none;margin-bottom:0!important}div.DTFC_LeftBodyWrapper tbody tr:first-child td,div.DTFC_LeftBodyWrapper tbody tr:first-child th,div.DTFC_LeftFootWrapper table{border-top:none}/*! +Chosen, a Select Box Enhancer for jQuery and Prototype +by Patrick Filler for Harvest, http://getharvest.com + +Version 1.3.0 +Full source at https://github.com/harvesthq/chosen +Copyright (c) 2011-2014 Harvest http://getharvest.com + +MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md +This file is generated by `grunt build`, do not edit it by hand. +*/.chosen-container{position:relative;display:inline-block;vertical-align:middle;font-size:13px;zoom:1;-moz-user-select:none;user-select:none}.chosen-container *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.chosen-container .chosen-drop{position:absolute;top:100%;left:-9999px;z-index:1010;width:100%;border:1px solid #aaa;border-top:0;background:#fff;box-shadow:0 4px 5px rgba(0,0,0,.15)}.chosen-container.chosen-with-drop .chosen-drop{left:0}.chosen-container-single .chosen-single{position:relative;display:block;overflow:hidden;padding:0 0 0 8px;height:25px;border:1px solid #aaa;border-radius:5px;background-color:#fff;background:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#fff),color-stop(50%,#f6f6f6),color-stop(52%,#eee),color-stop(100%,#f4f4f4));background:-webkit-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:-moz-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:-o-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background-clip:padding-box;box-shadow:0 0 3px #fff inset,0 1px 1px rgba(0,0,0,.1);color:#444;text-decoration:none;white-space:nowrap;line-height:24px}.chosen-container-single .chosen-default{color:#999}.chosen-container-single .chosen-single span{display:block;overflow:hidden;margin-right:26px;text-overflow:ellipsis;white-space:nowrap}.enjoyhint_btn,.enjoyhint_close_btn,.enjoyhint_close_btn::after,.enjoyhint_close_btn::before,.enjoyhint_next_btn,.enjoyhint_skip_btn{-o-text-overflow:clip;text-overflow:clip}.chosen-container-single .chosen-single-with-deselect span{margin-right:38px}.chosen-container-single .chosen-single abbr{position:absolute;top:6px;right:26px;display:block;width:12px;height:12px;background:url(/img/chosen-sprite.png) -42px 1px no-repeat;font-size:1px}.chosen-container-single .chosen-single abbr:hover,.chosen-container-single.chosen-disabled .chosen-single abbr:hover{background-position:-42px -10px}.chosen-container-single .chosen-single div{position:absolute;top:0;right:0;display:block;width:18px;height:100%}.chosen-container-single .chosen-single div b{display:block;width:100%;height:100%;background:url(/img/chosen-sprite.png) 0 2px no-repeat}.chosen-container-single .chosen-search{position:relative;z-index:1010;margin:0;padding:3px 4px;white-space:nowrap}.chosen-container-single .chosen-search input[type=text]{margin:1px 0;padding:4px 20px 4px 5px;width:100%;height:auto;outline:0;border:1px solid #aaa;background:url(/img/chosen-sprite.png) 100% -20px no-repeat;font-size:1em;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-single .chosen-drop{margin-top:-1px;border-radius:0 0 4px 4px;background-clip:padding-box}.chosen-container-single.chosen-container-single-nosearch .chosen-search{position:absolute;left:-9999px}.chosen-container .chosen-results{color:#444;position:relative;overflow-x:hidden;overflow-y:auto;margin:0 4px 4px 0;padding:0 0 0 4px;max-height:240px;-webkit-overflow-scrolling:touch}.chosen-container .chosen-results li{display:none;margin:0;padding:5px 6px;list-style:none;line-height:15px;word-wrap:break-word;-webkit-touch-callout:none}.chosen-container .chosen-results li.active-result{display:list-item;cursor:pointer}.chosen-container .chosen-results li.disabled-result{display:list-item;color:#ccc;cursor:default}.chosen-container .chosen-results li.highlighted{background-color:#3875d7;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#3875d7),color-stop(90%,#2a62bc));background-image:-webkit-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:-moz-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:-o-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:linear-gradient(#3875d7 20%,#2a62bc 90%);color:#fff}.chosen-container .chosen-results li.no-results{color:#777;display:list-item;background:#f4f4f4}.chosen-container .chosen-results li.group-result{display:list-item;font-weight:700;cursor:default}.chosen-container .chosen-results li.group-option{padding-left:15px}.chosen-container .chosen-results li em{font-style:normal;text-decoration:underline}.chosen-container-multi .chosen-choices{position:relative;overflow:hidden;margin:0;padding:0 5px;width:100%;height:auto!important;height:1%;border:1px solid #aaa;background-color:#fff;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(1%,#eee),color-stop(15%,#fff));background-image:-webkit-linear-gradient(#eee 1%,#fff 15%);background-image:-moz-linear-gradient(#eee 1%,#fff 15%);background-image:-o-linear-gradient(#eee 1%,#fff 15%);background-image:linear-gradient(#eee 1%,#fff 15%);cursor:text}.chosen-container-multi .chosen-choices li{float:left;list-style:none}.chosen-container-multi .chosen-choices li.search-field{margin:0;padding:0;white-space:nowrap}.chosen-container-multi .chosen-choices li.search-field input[type=text]{margin:1px 0;padding:0;height:25px;outline:0;border:0!important;background:0 0!important;box-shadow:none;color:#999;font-size:100%;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-multi .chosen-choices li.search-choice{position:relative;margin:3px 5px 3px 0;padding:3px 20px 3px 5px;border:1px solid #aaa;max-width:100%;border-radius:3px;background-color:#eee;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-moz-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-o-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-size:100% 19px;background-repeat:repeat-x;background-clip:padding-box;box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05);color:#333;line-height:13px;cursor:default}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{position:absolute;top:4px;right:3px;display:block;width:12px;height:12px;background:url(/img/chosen-sprite.png) -42px 1px no-repeat;font-size:1px}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover{background-position:-42px -10px}.chosen-container-multi .chosen-choices li.search-choice-disabled{padding-right:5px;border:1px solid #ccc;background-color:#e4e4e4;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-moz-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-o-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);color:#666}.chosen-container-multi .chosen-choices li.search-choice-focus{background:#d4d4d4}.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close{background-position:-42px -10px}.chosen-container-multi .chosen-results{margin:0;padding:0}.chosen-container-multi .chosen-drop .result-selected{display:list-item;color:#ccc;cursor:default}.enjoyhint_hide,.pace-inactive{display:none}.chosen-container-active .chosen-single{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active.chosen-with-drop .chosen-single{border:1px solid #aaa;-moz-border-radius-bottomright:0;border-bottom-right-radius:0;-moz-border-radius-bottomleft:0;border-bottom-left-radius:0;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#eee),color-stop(80%,#fff));background-image:-webkit-linear-gradient(#eee 20%,#fff 80%);background-image:-moz-linear-gradient(#eee 20%,#fff 80%);background-image:-o-linear-gradient(#eee 20%,#fff 80%);background-image:linear-gradient(#eee 20%,#fff 80%);box-shadow:0 1px 0 #fff inset}.chosen-container-active.chosen-with-drop .chosen-single div{border-left:none;background:0 0}.chosen-container-active.chosen-with-drop .chosen-single div b{background-position:-18px 2px}.chosen-container-active .chosen-choices{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active .chosen-choices li.search-field input[type=text]{color:#222!important}.chosen-disabled{opacity:.5!important;cursor:default}.chosen-disabled .chosen-choices .search-choice .search-choice-close,.chosen-disabled .chosen-single{cursor:default}.chosen-rtl{text-align:right}.chosen-rtl .chosen-single{overflow:visible;padding:0 8px 0 0}.enjoyhint,svg:not(:root){overflow:hidden}.chosen-rtl .chosen-single span{margin-right:0;margin-left:26px;direction:rtl}.chosen-rtl .chosen-single-with-deselect span{margin-left:38px}.chosen-rtl .chosen-single div{right:auto;left:3px}.chosen-rtl .chosen-single abbr{right:auto;left:26px}.chosen-rtl .chosen-choices li{float:right}.chosen-rtl .chosen-choices li.search-field input[type=text]{direction:rtl}.chosen-rtl .chosen-choices li.search-choice{margin:3px 5px 3px 0;padding:3px 5px 3px 19px}.chosen-rtl .chosen-choices li.search-choice .search-choice-close{right:auto;left:4px}.chosen-rtl .chosen-drop,.chosen-rtl.chosen-container-single-nosearch .chosen-search{left:9999px}.enjoyhint,.pace .pace-progress{position:fixed;width:100%;top:0;left:0}.chosen-rtl.chosen-container-single .chosen-results{margin:0 0 4px 4px;padding:0 4px 0 0}.chosen-rtl .chosen-results li.group-option{padding-right:15px;padding-left:0}.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div{border-right:none}.chosen-rtl .chosen-search input[type=text]{padding:4px 5px 4px 20px;background:url(/img/chosen-sprite.png) -30px -20px no-repeat;direction:rtl}.chosen-rtl.chosen-container-single .chosen-single div b{background-position:6px 2px}.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b{background-position:-12px 2px}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-resolution:1.5dppx){.chosen-container .chosen-results-scroll-down span,.chosen-container .chosen-results-scroll-up span,.chosen-container-multi .chosen-choices .search-choice .search-choice-close,.chosen-container-single .chosen-search input[type=text],.chosen-container-single .chosen-single abbr,.chosen-container-single .chosen-single div b,.chosen-rtl .chosen-search input[type=text]{background-image:url(/img/chosen-sprite@2x.png)!important;background-size:52px 37px!important;background-repeat:no-repeat!important}}.pace{-webkit-pointer-events:none;pointer-events:none;-moz-user-select:none;user-select:none}.pace .pace-progress{background:#fff;z-index:2000;height:5px}.enjoyhint_next_btn,.enjoyhint_skip_btn{font:normal normal normal 17px/40px "Advent Pro",Helvetica,sans-serif;-webkit-border-radius:40px;border-radius:40px}.enjoyhint_btn,.enjoyhint_close_btn,.enjoyhint_close_btn::after,.enjoyhint_close_btn::before,.enjoyhint_next_btn,.enjoyhint_skip_btn{-webkit-box-sizing:content-box}.enjoyhint_btn,.enjoyhint_close_btn,.enjoyhint_close_btn::after,.enjoyhint_next_btn,.enjoyhint_skip_btn{-moz-box-sizing:content-box}@font-face{font-family:casino_handregular;src:url(Casino_Hand/casino_hand-webfont.eot);src:url(Casino_Hand/casino_hand-webfont.eot?#iefix) format('embedded-opentype'),url(Casino_Hand/casino_hand-webfont.woff) format('woff'),url(Casino_Hand/casino_hand-webfont.ttf) format('truetype'),url(Casino_Hand/casino_hand-webfont.svg#casino_handregular) format('svg');font-weight:400;font-style:normal}.enjoyhint{height:100%;z-index:1010;pointer-events:none}.enjoyhint_close_btn,.enjoyhint_next_btn,.enjoyhint_skip_btn{z-index:1012;pointer-events:all}.enjoyhint_close_btn,.fa,.fa-stack{display:inline-block}.enjoyhint_close_btn::after,.enjoyhint_close_btn::before{background:#fff;border:none;color:rgba(0,0,0,1);display:inline-block}.enjoyhint_disable_events{position:absolute;width:2000px;height:1500px;z-index:1011;pointer-events:all}.enjoyhint_next_btn,.enjoyhint_skip_btn{width:100px;height:40px;box-sizing:content-box;margin:0 auto;text-align:center;letter-spacing:1px;cursor:pointer}#kinetic_container,.enjoyhint_canvas{pointer-events:none;position:absolute}.enjoyhint_next_btn{position:absolute;border:2px solid #1ecd97;background:0 0;-webkit-transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0);-moz-transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0);-o-transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0);transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0)}.enjoyhint_next_btn:hover{color:rgba(255,255,255,1);background:#1ecd97}.enjoyhint_next_btn:active{border:2px solid rgba(33,224,163,1);background:rgba(33,224,163,1);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.enjoyhint_btn,.enjoyhint_skip_btn{-o-transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0)}.enjoyhint_skip_btn{position:absolute;border:2px solid #1ecd97;background:0 0;-webkit-transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0);-moz-transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0);transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0)}.enjoyhint_close_btn:active,.enjoyhint_skip_btn:active{transition:none;-webkit-transition:none;-moz-transition:none}.enjoyhint_skip_btn:hover{color:rgba(255,255,255,1);background:#1ecd97}.enjoyhint_skip_btn:active{border:2px solid rgba(33,224,163,1);background:rgba(33,224,163,1);-o-transition:none}.enjoyhint_close_btn{position:absolute;box-sizing:content-box;width:.3em;height:.3em;border:none;-webkit-border-radius:1em;border-radius:1em;font:400 8em/normal Arial,Helvetica,sans-serif;background:0 0;border:2px solid rgba(33,224,163,1)}.enjoyhint_close_btn::after,.enjoyhint_close_btn::before{width:73%;height:2px;font:400 100%/normal Arial,Helvetica,sans-serif}.enjoyhint_close_btn::before{-moz-box-sizing:content-box;box-sizing:content-box;position:absolute;top:48%;left:14%;-webkit-transform:rotateZ(45deg);transform:rotateZ(45deg)}.enjoyhint_btn,hr{box-sizing:content-box}.enjoyhint_close_btn::after{box-sizing:content-box;position:absolute;top:46%;left:15%;-webkit-transform:rotateZ(-45deg);transform:rotateZ(-45deg)}.fa-glass:before,.uk-icon-glass:before{content:"\f000"}#kinetic_container,.enjoyhint_svg_wrapper,.enjoyhint_svg_wrapper svg{width:100%;height:100%;top:0;left:0}.enjoyhint_close_btn:hover{color:rgba(255,255,255,1);background:#1ecd97;cursor:pointer}.enjoyhint_close_btn:active{border:2px solid rgba(33,224,163,1);background:rgba(33,224,163,1);-o-transition:none}.enjoyhint_btn{width:150px;height:40px;cursor:pointer;margin:0 auto;border:2px solid #1ecd97;-webkit-border-radius:40px;border-radius:40px;font:normal normal normal 17px/40px "Advent Pro",Helvetica,sans-serif;color:#1ecd97;text-align:center;letter-spacing:1px;background:0 0;-webkit-transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0);-moz-transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0);transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0)}.enjoyhint_btn:hover{color:rgba(255,255,255,1);background:#1ecd97}.enjoyhint_btn:active{border:2px solid rgba(33,224,163,1);background:rgba(33,224,163,1);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.enjoy_hint_label,.enjoyhint_svg_wrapper{-moz-transition:opacity .4s cubic-bezier(.42,0,.58,1);transition:opacity .4s cubic-bezier(.42,0,.58,1);-webkit-transition:opacity .4s cubic-bezier(.42,0,.58,1)}.uk-overlay-area,.uk-thumbnav>*>*>img{-webkit-transition:opacity .15s linear}.enjoyhint div.canvas-container{position:absolute}.enjoyhint_canvas{z-index:100;width:100%;height:100%}.enjoyhint_svg_wrapper{position:absolute;z-index:100}.enjoyhint_svg_wrapper svg{position:absolute}.enjoyhint_svg_transparent .enjoy_hint_label,.enjoyhint_svg_transparent .enjoyhint_svg_wrapper{opacity:0}.enjoy_hint_label{position:absolute;color:#fff;z-index:107;font-size:22px;font-family:casino_handregular,Arial}div.kineticjs-content{position:absolute!important}.enjoyhint_close_btn,.enjoyhint_next_btn,.enjoyhint_skip_btn{border-color:#e74c3c;color:#e74c3c}.enjoyhint_close_btn:active,.enjoyhint_close_btn:focus,.enjoyhint_close_btn:hover,.enjoyhint_next_btn:active,.enjoyhint_next_btn:focus,.enjoyhint_next_btn:hover,.enjoyhint_skip_btn:active,.enjoyhint_skip_btn:focus,.enjoyhint_skip_btn:hover{border-color:#e74c3c;background-color:#e74c3c}.mg-active-datapoint{fill:#000;font-size:.9rem;font-weight:400;opacity:.8}.mg-area1-color{fill:#00f}.mg-area2-color{fill:#05b378}.mg-area3-color{fill:#db4437}.mg-area4-color{fill:#f8b128}.mg-area5-color{fill:#5c5c5c}.mg-barplot rect.mg-bar{shape-rendering:auto;fill:#b6b6fc}.mg-barplot rect.mg-bar.active{fill:#9e9efc}.mg-barplot .mg-bar-prediction{fill:#5b5b5b}.mg-barplot .mg-bar-baseline{stroke:#5b5b5b;stroke-width:2}.mg-baselines line{opacity:1;shape-rendering:auto;stroke:#b3b2b2;stroke-width:1px}.mg-baselines text{fill:#000;font-size:.9rem;opacity:.6;stroke:none}.mg-baselines-small text{font-size:.6rem}.mg-header{cursor:default;font-size:1.2rem}.mg-header .mg-chart-description{fill:#ccc;font-family:FontAwesome;font-size:1.2rem}.mg-points circle{opacity:.65}.mg-popover{font-size:.95rem}.mg-popover-content{cursor:auto;line-height:17px}.mg-data-table{margin-top:30px}.mg-data-table thead tr th{border-bottom:1px solid #a9a9a9;cursor:default;font-size:1.1rem;font-weight:400;padding:5px 5px 8px;text-align:right}.mg-data-table thead tr th .fa{color:#ccc;padding-left:4px}.mg-data-table thead tr th .popover{font-size:1rem;font-weight:400}.mg-data-table .secondary-title{color:#a9a9a9}.mg-data-table tbody tr td{margin:2px;padding:5px;vertical-align:top}.fa.fa-pull-left,.fa.pull-left{margin-right:.3em}.mg-data-table tbody tr td.table-text{opacity:.8;padding-left:30px}.mg-x-axis line.mg-extended-x-ticks,.mg-y-axis line.mg-extended-y-ticks{opacity:.4}.mg-histogram .axis line,.mg-histogram .axis path{fill:none;opacity:.7;shape-rendering:auto;stroke:#ccc}.mg-histogram .mg-bar rect{fill:#b6b6fc;shape-rendering:auto}.mg-histogram .mg-bar rect.active{fill:#9e9efc}.mg-least-squares-line{stroke:red;stroke-width:1px}.mg-lowess-line{fill:none;stroke:red}.mg-line1-color{stroke:#4040e8}.mg-hover-line1-color{fill:#4040e8}.mg-line2-color{stroke:#05b378}.mg-hover-line2-color{fill:#05b378}.mg-line3-color{stroke:#db4437}.mg-hover-line3-color{fill:#db4437}.mg-line4-color{stroke:#f8b128}.mg-hover-line4-color{fill:#f8b128}.mg-line5-color{stroke:#5c5c5c}.mg-hover-line5-color{fill:#5c5c5c}.mg-line-legend text{font-size:.9rem;font-weight:300;stroke:none}.mg-line1-legend-color{color:#4040e8;fill:#4040e8}.mg-line2-legend-color{color:#05b378;fill:#05b378}.mg-line3-legend-color{color:#db4437;fill:#db4437}.mg-line4-legend-color{color:#f8b128;fill:#f8b128}.mg-line5-legend-color{color:#5c5c5c;fill:#5c5c5c}.fa-inverse,.simplecolorpicker span.color[data-selected]:after{color:#fff}.mg-main-area-solid svg .mg-main-area{fill:#ccf;opacity:1}.mg-markers line{opacity:1;shape-rendering:auto;stroke:#b3b2b2;stroke-width:1px}.mg-markers text{fill:#000;font-size:.8rem;opacity:.6}.mg-missing-text{opacity:.9}.mg-missing-background{stroke:#00f;fill:none;stroke-dasharray:10,5;stroke-opacity:.05;stroke-width:2}.mg-missing .mg-main-line{opacity:.1}.mg-missing .mg-main-area{opacity:.03}path.mg-main-area{opacity:.2;stroke:none}path.mg-confidence-band{fill:#ccc;opacity:.4;stroke:none}path.mg-main-line{fill:none;opacity:.8;stroke-width:1.1px}.mg-points circle{fill-opacity:.4;stroke-opacity:1}circle.mg-points-mono{fill:#00f;stroke:#00f}.mg-points circle.selected{fill-opacity:1;stroke-opacity:1}.mg-voronoi path{fill:none;pointer-events:all;stroke:none;stroke-opacity:.1}.mg-x-rug-mono,.mg-y-rug-mono{stroke:#000}.mg-x-axis line,.mg-y-axis line{opacity:1;shape-rendering:auto;stroke:#b3b2b2;stroke-width:1px}.mg-histogram .axis text,.mg-x-axis text,.mg-y-axis text{fill:#000;font-size:.9rem;opacity:.6}.mg-axis .label,.mg-x-axis .label,.mg-y-axis .label{font-size:.8rem;text-transform:uppercase;font-weight:400}.uk-article-title,.uk-panel-title{text-transform:none;font-weight:400}.mg-active-datapoint-small,.mg-x-axis-small text,.mg-y-axis-small text{font-size:.6rem}.mg-x-axis-small .label,.mg-y-axis-small .label{font-size:.65rem}.mg-year-marker text{fill:#000;font-size:.7rem;opacity:.6}.mg-year-marker line{opacity:1;shape-rendering:auto;stroke:#b3b2b2;stroke-width:1px}.mg-year-marker-small text{font-size:.6rem}/*! * Font Awesome 4.4.0 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */@font-face{font-family:FontAwesome;src:url(../../fonts/fontawesome-webfont.eot?v=4.4.0);src:url(../../fonts/fontawesome-webfont.eot?#iefix&v=4.4.0) format('embedded-opentype'),url(../../fonts/fontawesome-webfont.woff2?v=4.4.0) format('woff2'),url(../../fonts/fontawesome-webfont.woff?v=4.4.0) format('woff'),url(../../fonts/fontawesome-webfont.ttf?v=4.4.0) format('truetype'),url(../../fonts/fontawesome-webfont.svg?v=4.4.0#fontawesomeregular) format('svg');font-weight:400;font-style:normal}.fa{font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-stack,audio,canvas,iframe,img,svg,video{vertical-align:middle}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa.fa-pull-right,.fa.pull-right{margin-left:.3em}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right,.pull-right{float:right}.pull-left{float:left}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{position:relative;width:2em;height:2em;line-height:2em}progress,sub,sup{vertical-align:baseline}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\f152"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-inr:before,.fa-rupee:before{content:"\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-empire:before,.fa-ge:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-bed:before,.fa-hotel:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-y-combinator:before,.fa-yc:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-television:before,.fa-tv:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.simplecolorpicker.picker{position:absolute;top:100%;left:0;z-index:1051;display:none;float:left;min-width:160px;max-width:283px;padding:5px 0 0 5px;margin:2px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);-moz-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.uk-panel,sub,sup{position:relative}ins,mark{background:#ffa}.simplecolorpicker.inline{display:inline-block;padding:6px 0}.simplecolorpicker span{margin:0 5px 5px 0}.simplecolorpicker span.color,.simplecolorpicker.icon{display:inline-block;cursor:pointer;border:1px solid transparent}.simplecolorpicker span.color:after,.simplecolorpicker.icon:after{content:'\00a0\00a0\00a0\00a0'}.simplecolorpicker span.color[data-disabled]:hover{cursor:not-allowed;border:1px solid transparent}.simplecolorpicker span.color:hover,.simplecolorpicker span.color[data-selected],.simplecolorpicker span.color[data-selected]:hover{border:1px solid #222}.simplecolorpicker span.vr{border-left:1px solid #222}hr,iframe,img{border:0}.simplecolorpicker.fontawesome span.color[data-selected]:after{font-family:FontAwesome;-webkit-font-smoothing:antialiased;content:'\f00c';margin-right:1px;margin-left:1px}html{font:400 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;background:#fff;color:#444}body{margin:0}a{background:0 0}a:active,a:hover{outline:0}.uk-link,a{color:#07d;text-decoration:none;cursor:pointer}.uk-navbar-nav>li>a[href='#'],.uk-tab>li.uk-disabled>a{cursor:text}.uk-link:hover,a:hover{color:#059;text-decoration:underline}.uk-article-title a,.uk-nav li>a,.uk-navbar-nav>li>a,.uk-panel,.uk-panel:hover,ins{text-decoration:none}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}:not(pre)>code,:not(pre)>kbd,:not(pre)>samp{font-size:12px;font-family:Consolas,monospace,serif;color:#d05;white-space:nowrap}ins,mark,pre{color:#444}em{color:#d05}q{font-style:italic}small{font-size:80%}sub,sup{font-size:75%;line-height:0}sup{top:-.5em}sub{bottom:-.25em}img{max-width:100%;height:auto;box-sizing:border-box}.uk-img-preserve,.uk-img-preserve img{max-width:none}address,blockquote,dl,fieldset,figure,ol,p,pre,ul{margin:0 0 15px}*+address,*+blockquote,*+dl,*+fieldset,*+figure,*+ol,*+p,*+pre,*+ul{margin-top:15px}h1,h2,h3,h4,h5,h6{margin:0 0 15px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400;color:#444;text-transform:none}*+h1,*+h2,*+h3,*+h4,*+h5,*+h6{margin-top:25px}.uk-h1,h1{font-size:36px;line-height:42px}.uk-h2,h2{font-size:24px;line-height:30px}.uk-h3,h3{font-size:18px;line-height:24px}.uk-h4,h4{font-size:16px;line-height:22px}.uk-h5,h5{font-size:14px;line-height:20px}.uk-h6,h6{font-size:12px;line-height:18px}ol,ul{padding-left:30px}ol>li>ol,ol>li>ul,ul>li>ol,ul>li>ul{margin:0}dt{font-weight:700}dd{margin-left:0}hr{height:0;margin:15px 0;border-top:1px solid #ddd}address{font-style:normal}blockquote{padding-left:15px;border-left:5px solid #ddd;font-size:16px;line-height:22px;font-style:italic}pre{padding:10px;background:#f5f5f5;font:12px/18px Consolas,monospace,serif;-moz-tab-size:4;tab-size:4;overflow:auto}::-moz-selection{background:#39f;color:#fff;text-shadow:none}::selection{background:#39f;color:#fff;text-shadow:none}article,aside,details,figcaption,figure,footer,header,main,nav,section,summary{display:block}[hidden],audio:not([controls]),template{display:none}@media screen and (max-width:400px){@-ms-viewport{width:device-width}}.uk-grid{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin:0;padding:0;list-style:none}.uk-grid:after,.uk-grid:before{content:"";display:block;overflow:hidden}.uk-grid>*{-ms-flex:none;-webkit-flex:none;flex:none;margin:0;float:left;padding-left:25px}.uk-grid>*>:last-child{margin-bottom:0}.uk-grid{margin-left:-25px}@media (min-width:1220px){.uk-grid{margin-left:-35px}.uk-grid>*{padding-left:35px}.uk-grid+.uk-grid,.uk-grid-margin,.uk-grid>*>.uk-panel+.uk-panel{margin-top:35px}}.uk-grid-collapse{margin-left:0}.uk-grid-collapse>*{padding-left:0}.uk-grid-collapse+.uk-grid-collapse,.uk-grid-collapse>*>.uk-panel+.uk-panel,.uk-grid-collapse>.uk-grid-margin{margin-top:0}.uk-grid-small{margin-left:-10px}.uk-grid-small>*{padding-left:10px}.uk-grid-small+.uk-grid-small,.uk-grid-small>*>.uk-panel+.uk-panel,.uk-grid-small>.uk-grid-margin{margin-top:10px}.uk-grid-medium{margin-left:-25px}.uk-grid-medium>*{padding-left:25px}.uk-grid-medium+.uk-grid-medium,.uk-grid-medium>*>.uk-panel+.uk-panel,.uk-grid-medium>.uk-grid-margin{margin-top:25px}.uk-grid-divider:not(:empty){margin-left:-25px;margin-right:-25px}.uk-grid-divider>*{padding-left:25px;padding-right:25px}.uk-grid-divider>[class*=uk-width-1-]:not(.uk-width-1-1):nth-child(n+2),.uk-grid-divider>[class*=uk-width-2-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-3-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-4-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-5-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-6-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-7-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-8-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-9-]:nth-child(n+2){border-left:1px solid #ddd}@media (min-width:1220px){.uk-grid-divider:not(:empty){margin-left:-35px;margin-right:-35px}.uk-grid-divider>*{padding-left:35px;padding-right:35px}.uk-grid-divider:empty{margin-top:35px;margin-bottom:35px}}.uk-grid-divider:empty{margin-top:25px;margin-bottom:25px;border-top:1px solid #ddd}.uk-grid-match>*{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.uk-grid-match>*>*{-ms-flex:none;-webkit-flex:none;flex:none;box-sizing:border-box;width:100%}[class*=uk-grid-width]>*{box-sizing:border-box;width:100%}.uk-grid-width-1-2>*{width:50%}.uk-grid-width-1-3>*{width:33.333%}.uk-grid-width-1-4>*{width:25%}.uk-grid-width-1-5>*{width:20%}.uk-grid-width-1-6>*{width:16.666%}.uk-grid-width-1-10>*{width:10%}.uk-grid-width-auto>*{width:auto}@media (min-width:480px){.uk-grid-width-small-1-1>*{width:100%}.uk-grid-width-small-1-2>*{width:50%}.uk-grid-width-small-1-3>*{width:33.333%}.uk-grid-width-small-1-4>*{width:25%}.uk-grid-width-small-1-5>*{width:20%}.uk-grid-width-small-1-6>*{width:16.666%}.uk-grid-width-small-1-10>*{width:10%}}@media (min-width:768px){.uk-grid-divider>[class*=uk-width-medium-]:not(.uk-width-medium-1-1):nth-child(n+2){border-left:1px solid #ddd}.uk-grid-width-medium-1-1>*{width:100%}.uk-grid-width-medium-1-2>*{width:50%}.uk-grid-width-medium-1-3>*{width:33.333%}.uk-grid-width-medium-1-4>*{width:25%}.uk-grid-width-medium-1-5>*{width:20%}.uk-grid-width-medium-1-6>*{width:16.666%}.uk-grid-width-medium-1-10>*{width:10%}}@media (min-width:960px){.uk-grid-divider>[class*=uk-width-large-]:not(.uk-width-large-1-1):nth-child(n+2){border-left:1px solid #ddd}.uk-grid-width-large-1-1>*{width:100%}.uk-grid-width-large-1-2>*{width:50%}.uk-grid-width-large-1-3>*{width:33.333%}.uk-grid-width-large-1-4>*{width:25%}.uk-grid-width-large-1-5>*{width:20%}.uk-grid-width-large-1-6>*{width:16.666%}.uk-grid-width-large-1-10>*{width:10%}}@media (min-width:1220px){.uk-grid-width-xlarge-1-1>*{width:100%}.uk-grid-width-xlarge-1-2>*{width:50%}.uk-grid-width-xlarge-1-3>*{width:33.333%}.uk-grid-width-xlarge-1-4>*{width:25%}.uk-grid-width-xlarge-1-5>*{width:20%}.uk-grid-width-xlarge-1-6>*{width:16.666%}.uk-grid-width-xlarge-1-10>*{width:10%}}[class*=uk-width]{box-sizing:border-box;width:100%}.uk-width-1-1{width:100%}.uk-width-1-2,.uk-width-2-4,.uk-width-3-6,.uk-width-5-10{width:50%}.uk-width-1-3,.uk-width-2-6{width:33.333%}.uk-width-2-3,.uk-width-4-6{width:66.666%}.uk-width-1-4{width:25%}.uk-width-3-4{width:75%}.uk-width-1-5,.uk-width-2-10{width:20%}.uk-width-2-5,.uk-width-4-10{width:40%}.uk-width-3-5,.uk-width-6-10{width:60%}.uk-width-4-5,.uk-width-8-10{width:80%}.uk-width-1-6{width:16.666%}.uk-width-5-6{width:83.333%}.uk-width-1-10{width:10%}.uk-width-3-10{width:30%}.uk-width-7-10{width:70%}.uk-width-9-10{width:90%}@media (min-width:480px){.uk-width-small-1-1{width:100%}.uk-width-small-1-2,.uk-width-small-2-4,.uk-width-small-3-6,.uk-width-small-5-10{width:50%}.uk-width-small-1-3,.uk-width-small-2-6{width:33.333%}.uk-width-small-2-3,.uk-width-small-4-6{width:66.666%}.uk-width-small-1-4{width:25%}.uk-width-small-3-4{width:75%}.uk-width-small-1-5,.uk-width-small-2-10{width:20%}.uk-width-small-2-5,.uk-width-small-4-10{width:40%}.uk-width-small-3-5,.uk-width-small-6-10{width:60%}.uk-width-small-4-5,.uk-width-small-8-10{width:80%}.uk-width-small-1-6{width:16.666%}.uk-width-small-5-6{width:83.333%}.uk-width-small-1-10{width:10%}.uk-width-small-3-10{width:30%}.uk-width-small-7-10{width:70%}.uk-width-small-9-10{width:90%}}@media (min-width:768px){.uk-width-medium-1-1{width:100%}.uk-width-medium-1-2,.uk-width-medium-2-4,.uk-width-medium-3-6,.uk-width-medium-5-10{width:50%}.uk-width-medium-1-3,.uk-width-medium-2-6{width:33.333%}.uk-width-medium-2-3,.uk-width-medium-4-6{width:66.666%}.uk-width-medium-1-4{width:25%}.uk-width-medium-3-4{width:75%}.uk-width-medium-1-5,.uk-width-medium-2-10{width:20%}.uk-width-medium-2-5,.uk-width-medium-4-10{width:40%}.uk-width-medium-3-5,.uk-width-medium-6-10{width:60%}.uk-width-medium-4-5,.uk-width-medium-8-10{width:80%}.uk-width-medium-1-6{width:16.666%}.uk-width-medium-5-6{width:83.333%}.uk-width-medium-1-10{width:10%}.uk-width-medium-3-10{width:30%}.uk-width-medium-7-10{width:70%}.uk-width-medium-9-10{width:90%}[class*=uk-push-],[class*=uk-pull-]{position:relative}.uk-push-1-2,.uk-push-2-4,.uk-push-3-6,.uk-push-5-10{left:50%}.uk-push-1-3,.uk-push-2-6{left:33.333%}.uk-push-2-3,.uk-push-4-6{left:66.666%}.uk-push-1-4{left:25%}.uk-push-3-4{left:75%}.uk-push-1-5,.uk-push-2-10{left:20%}.uk-push-2-5,.uk-push-4-10{left:40%}.uk-push-3-5,.uk-push-6-10{left:60%}.uk-push-4-5,.uk-push-8-10{left:80%}.uk-push-1-6{left:16.666%}.uk-push-5-6{left:83.333%}.uk-push-1-10{left:10%}.uk-push-3-10{left:30%}.uk-push-7-10{left:70%}.uk-push-9-10{left:90%}.uk-pull-1-2,.uk-pull-2-4,.uk-pull-3-6,.uk-pull-5-10{left:-50%}.uk-pull-1-3,.uk-pull-2-6{left:-33.333%}.uk-pull-2-3,.uk-pull-4-6{left:-66.666%}.uk-pull-1-4{left:-25%}.uk-pull-3-4{left:-75%}.uk-pull-1-5,.uk-pull-2-10{left:-20%}.uk-pull-2-5,.uk-pull-4-10{left:-40%}.uk-pull-3-5,.uk-pull-6-10{left:-60%}.uk-pull-4-5,.uk-pull-8-10{left:-80%}.uk-pull-1-6{left:-16.666%}.uk-pull-5-6{left:-83.333%}.uk-pull-1-10{left:-10%}.uk-pull-3-10{left:-30%}.uk-pull-7-10{left:-70%}.uk-pull-9-10{left:-90%}}@media (min-width:960px){.uk-width-large-1-1{width:100%}.uk-width-large-1-2,.uk-width-large-2-4,.uk-width-large-3-6,.uk-width-large-5-10{width:50%}.uk-width-large-1-3,.uk-width-large-2-6{width:33.333%}.uk-width-large-2-3,.uk-width-large-4-6{width:66.666%}.uk-width-large-1-4{width:25%}.uk-width-large-3-4{width:75%}.uk-width-large-1-5,.uk-width-large-2-10{width:20%}.uk-width-large-2-5,.uk-width-large-4-10{width:40%}.uk-width-large-3-5,.uk-width-large-6-10{width:60%}.uk-width-large-4-5,.uk-width-large-8-10{width:80%}.uk-width-large-1-6{width:16.666%}.uk-width-large-5-6{width:83.333%}.uk-width-large-1-10{width:10%}.uk-width-large-3-10{width:30%}.uk-width-large-7-10{width:70%}.uk-width-large-9-10{width:90%}}.uk-panel{display:block}.uk-panel:after,.uk-panel:before{content:"";display:table}.uk-panel>:not(.uk-panel-title):last-child{margin-bottom:0}.uk-panel-teaser,.uk-panel-title{margin-bottom:15px}.uk-panel-title{margin-top:0;font-size:18px;line-height:24px;color:#444}.uk-panel-badge{position:absolute;top:0;right:0;z-index:1}.uk-panel-box .uk-panel-badge,.uk-panel-hover .uk-panel-badge{top:10px;right:10px}.uk-panel-body{padding:15px}.uk-panel-box{padding:15px;color:#444}.uk-panel-box .uk-panel-title,.uk-panel-box-hover:hover{color:#444}.uk-panel-box>.uk-panel-teaser{margin-top:-15px;margin-left:-15px;margin-right:-15px}.uk-panel-box>.uk-nav-side{margin:0 -15px}.uk-article>:last-child,.uk-block>:last-child{margin-bottom:0}.uk-panel-box-primary{background-color:#ebf7fd;color:#2d7091}.uk-panel-box-primary .uk-panel-title,.uk-panel-box-primary-hover:hover{color:#2d7091}.uk-panel-box-secondary{background-color:#eee;color:#444}.uk-panel-box-secondary .uk-panel-title,.uk-panel-box-secondary-hover:hover{color:#444}.uk-panel-hover{padding:15px;color:#444}.uk-panel-hover:hover{background:#f5f5f5;color:#444}.uk-panel-hover>.uk-panel-teaser{margin-top:-15px;margin-left:-15px;margin-right:-15px}.uk-panel-header .uk-panel-title{padding-bottom:10px;border-bottom:1px solid #ddd;color:#444}.uk-panel-space{padding:30px}.uk-panel-space .uk-panel-badge{top:30px;right:30px}.uk-panel+.uk-panel-divider{margin-top:50px!important}.uk-panel+.uk-panel-divider:before{content:"";display:block;position:absolute;top:-25px;left:0;right:0;border-top:1px solid #ddd}.uk-article:after,.uk-article:before,.uk-block:after,.uk-block:before,.uk-comment-header:after,.uk-comment-header:before{content:"";display:table}@media (min-width:1220px){.uk-width-xlarge-1-1{width:100%}.uk-width-xlarge-1-2,.uk-width-xlarge-2-4,.uk-width-xlarge-3-6,.uk-width-xlarge-5-10{width:50%}.uk-width-xlarge-1-3,.uk-width-xlarge-2-6{width:33.333%}.uk-width-xlarge-2-3,.uk-width-xlarge-4-6{width:66.666%}.uk-width-xlarge-1-4{width:25%}.uk-width-xlarge-3-4{width:75%}.uk-width-xlarge-1-5,.uk-width-xlarge-2-10{width:20%}.uk-width-xlarge-2-5,.uk-width-xlarge-4-10{width:40%}.uk-width-xlarge-3-5,.uk-width-xlarge-6-10{width:60%}.uk-width-xlarge-4-5,.uk-width-xlarge-8-10{width:80%}.uk-width-xlarge-1-6{width:16.666%}.uk-width-xlarge-5-6{width:83.333%}.uk-width-xlarge-1-10{width:10%}.uk-width-xlarge-3-10{width:30%}.uk-width-xlarge-7-10{width:70%}.uk-width-xlarge-9-10{width:90%}.uk-panel+.uk-panel-divider{margin-top:70px!important}.uk-panel+.uk-panel-divider:before{top:-35px}}*+.uk-article-divider,.uk-article+.uk-article{margin-top:25px}.uk-cover-object,[data-uk-cover]{left:50%;top:50%;position:relative}.uk-block{position:relative;box-sizing:border-box;padding-top:20px;padding-bottom:20px}@media (min-width:768px){.uk-block{padding-top:50px;padding-bottom:50px}}.uk-block-large{padding-top:20px;padding-bottom:20px}@media (min-width:768px){.uk-block-large{padding-top:50px;padding-bottom:50px}}@media (min-width:960px){.uk-block-large{padding-top:100px;padding-bottom:100px}}.uk-block-default{background:#fff}.uk-block-muted{background:#f9f9f9}.uk-block-primary{background:#00a8e6}.uk-block-secondary{background:#222}.uk-block-default+.uk-block-default,.uk-block-muted+.uk-block-muted,.uk-block-primary+.uk-block-primary,.uk-block-secondary+.uk-block-secondary{padding-top:0}.uk-article-title{font-size:36px;line-height:42px}.uk-article-title a{color:inherit}.uk-article-meta{font-size:12px;line-height:18px;color:#999}.uk-article-lead{color:#444;font-size:18px;line-height:24px;font-weight:400}.uk-article-divider{margin-bottom:25px;border-color:#ddd}.uk-nav-dropdown .uk-nav-divider,.uk-nav-navbar .uk-nav-divider,.uk-nav-side .uk-nav-divider{border-top:1px solid #ddd}.uk-comment-avatar{margin-right:15px;float:left}.uk-comment-meta{margin:2px 0 0;font-size:11px;line-height:16px;color:#999}.uk-comment-body>:last-child{margin-bottom:0}.uk-comment-list{padding:0;list-style:none}.uk-comment-list .uk-comment+ul>li:nth-child(n+2),.uk-comment-list>li:nth-child(n+2){margin-top:15px}@media (min-width:768px){.uk-comment-list .uk-comment+ul{padding-left:100px}}.uk-cover-background{background-position:50% 50%;background-size:cover;background-repeat:no-repeat}.uk-cover{overflow:hidden}.uk-cover-object{width:auto;height:auto;min-width:100%;min-height:100%;max-width:none;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}[data-uk-cover]{-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.uk-nav,.uk-nav ul{margin:0;padding:0;list-style:none}.uk-nav li>a{display:block}.uk-nav>li>a{padding:5px 15px}.uk-nav ul{padding-left:15px}.uk-nav ul a{padding:2px 0}.uk-nav li>a>div{font-size:12px;line-height:18px}.uk-nav-header{padding:5px 15px;text-transform:uppercase;font-weight:700;font-size:12px}.uk-nav-header:not(:first-child){margin-top:15px}.uk-nav-divider{margin:9px 15px}ul.uk-nav-sub{padding:5px 0 5px 15px}.uk-nav-parent-icon>.uk-parent>a:after{content:"\f104";width:20px;margin-right:-10px;float:right;font-family:FontAwesome;text-align:center}.uk-nav-parent-icon>.uk-parent.uk-open>a:after{content:"\f107"}.uk-nav-side>li>a{color:#444}.uk-nav-side>li>a:focus,.uk-nav-side>li>a:hover{background:rgba(0,0,0,.05);color:#444;outline:0}.uk-nav-side>li.uk-active>a{background:#00a8e6;color:#fff}.uk-nav-side .uk-nav-header{color:#444}.uk-nav-side ul a{color:#07d}.uk-nav-side ul a:hover{color:#059}.uk-nav-dropdown>li>a{color:#444}.uk-nav-dropdown>li>a:focus,.uk-nav-dropdown>li>a:hover{outline:0}.uk-nav-dropdown .uk-nav-header{color:#999}.uk-nav-dropdown ul a{color:#07d}.uk-nav-dropdown ul a:hover{color:#059}.uk-nav-navbar>li>a{color:#444}.uk-nav-navbar>li>a:focus,.uk-nav-navbar>li>a:hover{background:#00a8e6;color:#fff;outline:0}.uk-nav-navbar .uk-nav-header{color:#999}.uk-nav-navbar ul a{color:#07d}.uk-nav-navbar ul a:hover{color:#059}.uk-nav-offcanvas>li>a{color:#ccc;padding:10px 15px}.uk-nav-offcanvas>.uk-open>a,html:not(.uk-touch) .uk-nav-offcanvas>li>a:focus,html:not(.uk-touch) .uk-nav-offcanvas>li>a:hover{background:#404040;color:#fff;outline:0}html .uk-nav.uk-nav-offcanvas>li.uk-active>a{background:#1a1a1a;color:#fff}.uk-nav-offcanvas .uk-nav-header{color:#777}.uk-nav-offcanvas .uk-nav-divider{border-top:1px solid #1a1a1a}.uk-nav-offcanvas ul a{color:#ccc}html:not(.uk-touch) .uk-nav-offcanvas ul a:hover{color:#fff}.uk-navbar{background:#eee;color:#444}.uk-navbar:after,.uk-navbar:before{content:"";display:table}.uk-navbar-nav{margin:0;padding:0;list-style:none;float:left}.uk-navbar-nav>li{float:left;position:relative}.uk-navbar-nav>li>a{display:block;box-sizing:border-box;height:40px;padding:0 15px;line-height:40px;color:#444;font-size:14px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400}.uk-navbar-nav>li.uk-open>a,.uk-navbar-nav>li:hover>a,.uk-navbar-nav>li>a:focus{background-color:#f5f5f5;color:#444;outline:0}.uk-navbar-nav>li>a:active{background-color:#ddd;color:#444}.uk-navbar-nav>li.uk-active>a{background-color:#f5f5f5;color:#444}.uk-navbar-nav .uk-navbar-nav-subtitle{line-height:28px}.uk-navbar-nav-subtitle>div{margin-top:-6px;font-size:10px;line-height:12px}.uk-navbar-brand,.uk-navbar-toggle{font-size:18px;text-decoration:none}.uk-navbar-brand,.uk-navbar-content,.uk-navbar-toggle{box-sizing:border-box;display:block;height:40px;padding:0 15px;float:left}.uk-navbar-brand:before,.uk-navbar-content:before,.uk-navbar-toggle:before{content:'';display:inline-block;height:100%;vertical-align:middle}.uk-navbar-content+.uk-navbar-content:not(.uk-navbar-center){padding-left:0}.uk-navbar-content>a:not([class]){color:#07d}.uk-navbar-content>a:not([class]):hover{color:#059}.uk-navbar-brand{color:#444}.uk-navbar-brand:focus,.uk-navbar-brand:hover{color:#444;text-decoration:none;outline:0}.uk-navbar-toggle{color:#444}.uk-navbar-toggle:focus,.uk-navbar-toggle:hover{color:#444;text-decoration:none;outline:0}.uk-navbar-toggle:after{content:"\f0c9";font-family:FontAwesome;vertical-align:middle}.uk-navbar-toggle-alt:after{content:"\f002"}.uk-navbar-center{float:none;text-align:center;max-width:50%;margin-left:auto;margin-right:auto}.uk-navbar-flip{float:right}.uk-subnav{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-left:-10px;margin-top:-10px;padding:0;list-style:none}.uk-subnav>*{-ms-flex:none;-webkit-flex:none;flex:none;padding-left:10px;margin-top:10px;position:relative;float:left}.uk-subnav:after,.uk-subnav:before{content:"";display:block;overflow:hidden}.uk-breadcrumb>li,.uk-breadcrumb>li>a,.uk-breadcrumb>li>span,.uk-subnav-line>:before,.uk-subnav>*>*{display:inline-block}.uk-subnav>*>*{color:#444}.uk-subnav>*>:focus,.uk-subnav>*>:hover{color:#07d;text-decoration:none}.uk-subnav>.uk-active>*{color:#07d}.uk-subnav-line>:before{content:"";height:10px;vertical-align:middle}.uk-breadcrumb>li,.uk-pagination>li,.uk-table td{vertical-align:top}.uk-subnav-line>:nth-child(n+2):before{margin-right:10px;border-left:1px solid #ddd}.uk-subnav-pill>*>*{padding:3px 9px}.uk-breadcrumb,.uk-pagination,.uk-tab{padding:0;list-style:none}.uk-subnav-pill>*>:focus,.uk-subnav-pill>*>:hover{background:#eee;color:#444;text-decoration:none;outline:0}.uk-subnav-pill>.uk-active>*{color:#fff}.uk-subnav>.uk-disabled>*{background:0 0;color:#999;text-decoration:none;cursor:text}.uk-breadcrumb{font-size:0}.uk-breadcrumb>li{font-size:1rem}.uk-breadcrumb>li:nth-child(n+2):before{content:"/";display:inline-block;margin:0 8px}.uk-breadcrumb>li:not(.uk-active)>span{color:#999}.uk-pagination{text-align:center;font-size:0}.uk-pagination:after,.uk-pagination:before{content:"";display:table}.uk-pagination>li{display:inline-block;font-size:1rem}.uk-pagination>li:nth-child(n+2){margin-left:5px}.uk-pagination>li>a,.uk-pagination>li>span{display:inline-block;text-decoration:none;text-align:center}.uk-pagination>li>a:focus,.uk-pagination>li>a:hover{background-color:#f5f5f5;color:#444;outline:0}.uk-pagination>li>a:active{background-color:#ddd;color:#444}.uk-pagination>.uk-active>span{background:#00a8e6;color:#fff}.uk-pagination>.uk-disabled>span{background-color:#f5f5f5;color:#999}.uk-pagination-previous{float:left}.uk-pagination-next{float:right}.uk-pagination-left{text-align:left}.uk-pagination-right{text-align:right}.uk-tab-center .uk-tab>li>a,.uk-tab-grid>li>a{text-align:center}.uk-tab{margin:0;border-bottom:1px solid #ddd}.uk-tab:after,.uk-tab:before{content:"";display:table}.uk-tab>li{float:left;position:relative}.uk-alert>.uk-close:first-child,.uk-tab-flip>li{float:right}.uk-tab>li>a{display:block;text-decoration:none}.uk-tab>li:nth-child(n+2)>a{margin-left:5px}.uk-tab>li.uk-open>a,.uk-tab>li>a:focus,.uk-tab>li>a:hover{border-color:#f5f5f5;background:#f5f5f5;color:#059;outline:0}.uk-tab>li.uk-open:not(.uk-active)>a,.uk-tab>li:not(.uk-active)>a:focus,.uk-tab>li:not(.uk-active)>a:hover{margin-bottom:1px;padding-bottom:7px}.uk-tab>li.uk-active>a{border-color:#ddd #ddd transparent;color:#444}.uk-button:not(:disabled),.uk-form input[type=checkbox]:not(:disabled),.uk-form input[type=radio]:not(:disabled){cursor:pointer}.uk-tab>li.uk-disabled.uk-active>a,.uk-tab>li.uk-disabled>a:focus,.uk-tab>li.uk-disabled>a:hover{background:0 0;border-color:transparent}.uk-tab-flip>li:nth-child(n+2)>a{margin-left:0;margin-right:5px}.uk-tab>li.uk-tab-responsive>a{margin-left:0;margin-right:0}.uk-tab-center{border-bottom:1px solid #ddd}.uk-tab-center-bottom{border-bottom:none;border-top:1px solid #ddd}.uk-tab-center:after,.uk-tab-center:before{content:"";display:table}.uk-tab-center:after{clear:both}.uk-tab-center .uk-tab{position:relative;right:50%;border:none;float:right}.uk-tab-center .uk-tab>li{position:relative;right:-50%}.uk-tab-bottom{border-top:1px solid #ddd;border-bottom:none}.uk-tab-bottom>li{margin-top:-1px;margin-bottom:0}.uk-tab-bottom>li>a{padding-top:8px;padding-bottom:8px;border-bottom-width:1px;border-top-width:0}.uk-tab-bottom>li.uk-open:not(.uk-active)>a,.uk-tab-bottom>li:not(.uk-active)>a:focus,.uk-tab-bottom>li:not(.uk-active)>a:hover{margin-bottom:0;margin-top:1px;padding-bottom:8px;padding-top:7px}.uk-tab-bottom>li.uk-active>a{border-top-color:transparent;border-bottom-color:#ddd}.uk-tab-grid{margin-left:-5px;border-bottom:none;position:relative;z-index:0}.uk-tab-grid:before{display:block;position:absolute;left:5px;right:0;bottom:-1px;border-top:1px solid #ddd;z-index:-1}.uk-tab-grid>li:first-child>a{margin-left:5px}.uk-tab-grid.uk-tab-bottom{border-top:none}.uk-tab-grid.uk-tab-bottom:before{top:-1px;bottom:auto}@media (min-width:768px){.uk-tab-left,.uk-tab-right{border-bottom:none}.uk-tab-left>li,.uk-tab-right>li{margin-bottom:0;float:none}.uk-tab-left>li>a,.uk-tab-right>li>a{padding-top:8px;padding-bottom:8px}.uk-tab-left>li:nth-child(n+2)>a,.uk-tab-right>li:nth-child(n+2)>a{margin-left:0;margin-top:5px}.uk-tab-left>li.uk-active>a,.uk-tab-right>li.uk-active>a{border-color:#ddd}.uk-tab-left{border-right:1px solid #ddd}.uk-tab-left>li{margin-right:-1px}.uk-tab-left>li>a{border-bottom-width:1px;border-right-width:0}.uk-tab-left>li:not(.uk-active)>a:focus,.uk-tab-left>li:not(.uk-active)>a:hover{margin-bottom:0;margin-right:1px;padding-bottom:8px;padding-right:11px}.uk-tab-left>li.uk-active>a{border-right-color:transparent}.uk-tab-right{border-left:1px solid #ddd}.uk-tab-right>li{margin-left:-1px}.uk-tab-right>li>a{border-bottom-width:1px;border-left-width:0}.uk-tab-right>li:not(.uk-active)>a:focus,.uk-tab-right>li:not(.uk-active)>a:hover{margin-bottom:0;margin-left:1px;padding-bottom:8px;padding-left:11px}.uk-tab-right>li.uk-active>a{border-left-color:transparent}}.uk-thumbnav{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-left:-10px;margin-top:-10px;padding:0;list-style:none}.uk-thumbnav>*{-ms-flex:none;-webkit-flex:none;flex:none;padding-left:10px;margin-top:10px;float:left}.uk-thumbnav:after,.uk-thumbnav:before{content:"";display:block;overflow:hidden}.uk-thumbnav>*>*{display:block;background:#fff}.uk-thumbnav>*>*>img{opacity:.7;transition:opacity .15s linear}.uk-close-alt:focus,.uk-close-alt:hover,.uk-thumbnav>*>:focus>img,.uk-thumbnav>*>:hover>img,.uk-thumbnav>.uk-active>*>img{opacity:1}.uk-list{padding:0;list-style:none}.uk-list>li:after,.uk-list>li:before{content:"";display:table}.uk-list>li>:last-child{margin-bottom:0}.uk-list ul{margin:0;padding-left:20px;list-style:none}.uk-list-line>li:nth-child(n+2){margin-top:5px;padding-top:5px;border-top:1px solid #ddd}.uk-list-striped>li{padding:5px}.uk-list-striped>li:nth-of-type(odd){background:#f5f5f5}.uk-list-space>li:nth-child(n+2){margin-top:10px}@media (min-width:768px){.uk-description-list-horizontal{overflow:hidden}.uk-description-list-horizontal>dt{width:160px;float:left;clear:both;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uk-description-list-horizontal>dd{margin-left:180px}}.uk-description-list-line>dt{font-weight:400}.uk-description-list-line>dt:nth-child(n+2){margin-top:5px;padding-top:5px;border-top:1px solid #ddd}.uk-description-list-line>dd{color:#999}.uk-table{border-collapse:collapse;border-spacing:0;width:100%;margin-bottom:15px}*+.uk-table{margin-top:15px}.uk-table td,.uk-table th{padding:8px}.uk-table th{text-align:left}.uk-table thead th{vertical-align:bottom}.uk-table caption,.uk-table tfoot{font-size:12px;font-style:italic}.uk-table caption{text-align:left;color:#999}.uk-table tbody tr.uk-active{background:#eee}.uk-table-middle,.uk-table-middle td{vertical-align:middle!important}.uk-table-condensed td{padding:4px 8px}.uk-form input,.uk-form select,.uk-form textarea{box-sizing:border-box;margin:0;border-radius:0;font:inherit;color:inherit}.uk-form select{text-transform:none}.uk-form optgroup{font:inherit;font-weight:700}.uk-form input::-moz-focus-inner{border:0;padding:0}.uk-form input[type=checkbox],.uk-form input[type=radio]{padding:0}.uk-form input:not([type]),.uk-form input[type=text],.uk-form input[type=password],.uk-form input[type=email],.uk-form input[type=url],.uk-form input[type=search],.uk-form input[type=tel],.uk-form input[type=number],.uk-form input[type=datetime],.uk-form textarea{-webkit-appearance:none}.uk-form input[type=search]::-webkit-search-cancel-button,.uk-form input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.uk-form input[type=number]::-webkit-inner-spin-button,.uk-form input[type=number]::-webkit-outer-spin-button{height:auto}.uk-form fieldset{border:none;margin:0;padding:0}.uk-form textarea{overflow:auto;vertical-align:top}.uk-button,.uk-button-group,.uk-form input:not([type=radio]):not([type=checkbox]),.uk-form select{vertical-align:middle}.uk-form :invalid{box-shadow:none}.uk-form>:last-child{margin-bottom:0}.uk-form input:not([type]),.uk-form input[type=text],.uk-form input[type=password],.uk-form input[type=email],.uk-form input[type=url],.uk-form input[type=search],.uk-form input[type=tel],.uk-form input[type=number],.uk-form input[type=datetime],.uk-form input[type=datetime-local],.uk-form input[type=date],.uk-form input[type=month],.uk-form input[type=time],.uk-form input[type=week],.uk-form input[type=color],.uk-form select,.uk-form textarea{height:30px;max-width:100%;padding:4px 6px;border:1px solid #ddd;background:#fff;color:#444;-webkit-transition:all linear .2s;transition:all linear .2s}.uk-form input:not([type]):focus,.uk-form input[type=text]:focus,.uk-form input[type=password]:focus,.uk-form input[type=email]:focus,.uk-form input[type=url]:focus,.uk-form input[type=search]:focus,.uk-form input[type=tel]:focus,.uk-form input[type=number]:focus,.uk-form input[type=datetime]:focus,.uk-form input[type=datetime-local]:focus,.uk-form input[type=date]:focus,.uk-form input[type=month]:focus,.uk-form input[type=time]:focus,.uk-form input[type=week]:focus,.uk-form input[type=color]:focus,.uk-form select:focus,.uk-form textarea:focus{border-color:#99baca;outline:0;background:#f5fbfe;color:#444}.uk-form input:not([type]):disabled,.uk-form input[type=text]:disabled,.uk-form input[type=password]:disabled,.uk-form input[type=email]:disabled,.uk-form input[type=url]:disabled,.uk-form input[type=search]:disabled,.uk-form input[type=tel]:disabled,.uk-form input[type=number]:disabled,.uk-form input[type=datetime]:disabled,.uk-form input[type=datetime-local]:disabled,.uk-form input[type=date]:disabled,.uk-form input[type=month]:disabled,.uk-form input[type=time]:disabled,.uk-form input[type=week]:disabled,.uk-form input[type=color]:disabled,.uk-form select:disabled,.uk-form textarea:disabled{border-color:#ddd;background-color:#f5f5f5;color:#999}.uk-form :-ms-input-placeholder{color:#999!important}.uk-form ::-moz-placeholder{opacity:1;color:#999}.uk-form ::-webkit-input-placeholder{color:#999}.uk-form :disabled:-ms-input-placeholder{color:#999!important}.uk-form :disabled::-moz-placeholder{color:#999}.uk-form :disabled::-webkit-input-placeholder{color:#999}.uk-form legend{width:100%;border:0;padding:0 0 15px;font-size:18px;line-height:30px}.uk-form legend:after{content:"";display:block;border-bottom:1px solid #ddd;width:100%}input:not([type]).uk-form-small,input[type].uk-form-small,select.uk-form-small,textarea.uk-form-small{height:25px;padding:3px;font-size:12px}input:not([type]).uk-form-large,input[type].uk-form-large,select.uk-form-large,textarea.uk-form-large{height:40px;padding:8px 6px;font-size:16px}.uk-form select[multiple],.uk-form select[size],.uk-form textarea{height:auto}.uk-form-danger{border-color:#dc8d99!important;background:#fff7f8!important;color:#d85030!important}.uk-form-success{border-color:#8ec73b!important;background:#fafff2!important;color:#659f13!important}.uk-form-blank{border-color:transparent!important;border-style:dashed!important;background:0 0!important}.uk-form-blank:focus{border-color:#ddd!important}input.uk-form-width-mini{width:40px}select.uk-form-width-mini{width:65px}.uk-form-width-small{width:130px}.uk-form-width-medium{width:200px}.uk-form-width-large{width:500px}.uk-form-row:after,.uk-form-row:before{content:"";display:table}.uk-form-help-inline{display:inline-block;margin:0 0 0 10px}.uk-form-help-block{margin:5px 0 0}.uk-form-controls>:first-child{margin-top:0}.uk-form-controls>:last-child{margin-bottom:0}.uk-form-controls-condensed{margin:5px 0}.uk-form-stacked .uk-form-label{margin-bottom:5px}@media (max-width:959px){.uk-form-horizontal .uk-form-label{display:block;margin-bottom:5px;font-weight:700}}@media (min-width:960px){.uk-form-horizontal .uk-form-label{width:200px;margin-top:5px;float:left}.uk-form-horizontal .uk-form-controls{margin-left:215px}.uk-form-horizontal .uk-form-controls-text{padding-top:5px}}.uk-form-icon{display:inline-block;position:relative;max-width:100%}.uk-form-icon>[class*=uk-icon-]{position:absolute;top:50%;width:30px;margin-top:-7px;font-size:14px;color:#999;text-align:center;pointer-events:none}.uk-button,.uk-close{margin:0;overflow:visible;display:inline-block;text-transform:none;text-align:center;-webkit-appearance:none}.uk-form-icon:not(.uk-form-icon-flip)>input{padding-left:30px!important}.uk-form-icon-flip>[class*=uk-icon-]{right:0}.uk-form-icon-flip>input{padding-right:30px!important}.uk-button::-moz-focus-inner{border:0;padding:0}.uk-button{border:none;font:inherit;color:#444;box-sizing:border-box;padding:0 12px;background:#eee;line-height:30px;min-height:30px;font-size:1rem;text-decoration:none}.uk-button:focus,.uk-button:hover{background-color:#f5f5f5;color:#444;outline:0;text-decoration:none}.uk-button.uk-active,.uk-button:active{background-color:#ddd;color:#444}.uk-button-primary{background-color:#00a8e6;color:#fff}.uk-button-primary:focus,.uk-button-primary:hover{background-color:#35b3ee;color:#fff}.uk-button-primary.uk-active,.uk-button-primary:active{background-color:#0091ca;color:#fff}.uk-button-success{background-color:#8cc14c;color:#fff}.uk-button-success:focus,.uk-button-success:hover{background-color:#8ec73b;color:#fff}.uk-button-success.uk-active,.uk-button-success:active{background-color:#72ae41;color:#fff}.uk-button-danger{background-color:#da314b;color:#fff}.uk-button-danger:focus,.uk-button-danger:hover{background-color:#e4354f;color:#fff}.uk-button-danger.uk-active,.uk-button-danger:active{background-color:#c91032;color:#fff}.uk-button:disabled{background-color:#f5f5f5;color:#999}.uk-button-link,.uk-button-link.uk-active,.uk-button-link:active,.uk-button-link:disabled,.uk-button-link:focus,.uk-button-link:hover{border-color:transparent;background:0 0}.uk-button-link{color:#07d}.uk-button-link.uk-active,.uk-button-link:active,.uk-button-link:focus,.uk-button-link:hover{color:#059;text-decoration:underline}.uk-button-link:disabled,.uk-icon-hover{color:#999}.uk-button-link:focus{outline:dotted 1px}.uk-button-mini{min-height:20px;padding:0 6px;line-height:20px;font-size:11px}.uk-button-small{min-height:25px;padding:0 10px;line-height:25px;font-size:12px}.uk-button-large{min-height:40px;padding:0 15px;line-height:40px;font-size:16px}.uk-button-group{display:inline-block;position:relative;font-size:0;white-space:nowrap}.uk-button-group>*{display:inline-block}.uk-button-group .uk-button{vertical-align:top}.uk-button-dropdown{display:inline-block;vertical-align:middle;position:relative}@font-face{font-family:FontAwesome;src:url(../fonts/fontawesome-webfont.woff2) format('woff2'),url(../fonts/fontawesome-webfont.woff) format("woff"),url(../fonts/fontawesome-webfont.ttf) format("truetype");font-weight:400;font-style:normal}[class*=uk-icon-]{font-family:FontAwesome;display:inline-block;font-weight:400;font-style:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[class*=uk-icon-],[class*=uk-icon-]:focus,[class*=uk-icon-]:hover{text-decoration:none}.uk-icon-small{font-size:150%;vertical-align:-10%}.uk-icon-medium{font-size:200%;vertical-align:-16%}.uk-icon-large{font-size:250%;vertical-align:-22%}.uk-badge,.uk-close,.uk-overlay,.uk-overlay-area-content{vertical-align:middle}.uk-icon-justify{width:1em;text-align:center}.uk-icon-spin{display:inline-block;-webkit-animation:uk-rotate 2s infinite linear;animation:uk-rotate 2s infinite linear}.uk-icon-hover:hover{color:#444}.uk-icon-button{box-sizing:border-box;display:inline-block;width:35px;height:35px;border-radius:100%;background:#eee;line-height:35px;color:#444;font-size:18px;text-align:center}.uk-icon-button:focus,.uk-icon-button:hover{background-color:#f5f5f5;color:#444;outline:0}.uk-icon-button:active{background-color:#ddd;color:#444}.uk-icon-music:before{content:"\f001"}.uk-icon-search:before{content:"\f002"}.uk-icon-envelope-o:before{content:"\f003"}.uk-icon-heart:before{content:"\f004"}.uk-icon-star:before{content:"\f005"}.uk-icon-star-o:before{content:"\f006"}.uk-icon-user:before{content:"\f007"}.uk-icon-film:before{content:"\f008"}.uk-icon-th-large:before{content:"\f009"}.uk-icon-th:before{content:"\f00a"}.uk-icon-th-list:before{content:"\f00b"}.uk-icon-check:before{content:"\f00c"}.uk-icon-close:before,.uk-icon-remove:before,.uk-icon-times:before{content:"\f00d"}.uk-icon-search-plus:before{content:"\f00e"}.uk-icon-search-minus:before{content:"\f010"}.uk-icon-power-off:before{content:"\f011"}.uk-icon-signal:before{content:"\f012"}.uk-icon-cog:before,.uk-icon-gear:before{content:"\f013"}.uk-icon-trash-o:before{content:"\f014"}.uk-icon-home:before{content:"\f015"}.uk-icon-file-o:before{content:"\f016"}.uk-icon-clock-o:before{content:"\f017"}.uk-icon-road:before{content:"\f018"}.uk-icon-download:before{content:"\f019"}.uk-icon-arrow-circle-o-down:before{content:"\f01a"}.uk-icon-arrow-circle-o-up:before{content:"\f01b"}.uk-icon-inbox:before{content:"\f01c"}.uk-icon-play-circle-o:before{content:"\f01d"}.uk-icon-repeat:before,.uk-icon-rotate-right:before{content:"\f01e"}.uk-icon-refresh:before{content:"\f021"}.uk-icon-list-alt:before{content:"\f022"}.uk-icon-lock:before{content:"\f023"}.uk-icon-flag:before{content:"\f024"}.uk-icon-headphones:before{content:"\f025"}.uk-icon-volume-off:before{content:"\f026"}.uk-icon-volume-down:before{content:"\f027"}.uk-icon-volume-up:before{content:"\f028"}.uk-icon-qrcode:before{content:"\f029"}.uk-icon-barcode:before{content:"\f02a"}.uk-icon-tag:before{content:"\f02b"}.uk-icon-tags:before{content:"\f02c"}.uk-icon-book:before{content:"\f02d"}.uk-icon-bookmark:before{content:"\f02e"}.uk-icon-print:before{content:"\f02f"}.uk-icon-camera:before{content:"\f030"}.uk-icon-font:before{content:"\f031"}.uk-icon-bold:before{content:"\f032"}.uk-icon-italic:before{content:"\f033"}.uk-icon-text-height:before{content:"\f034"}.uk-icon-text-width:before{content:"\f035"}.uk-icon-align-left:before{content:"\f036"}.uk-icon-align-center:before{content:"\f037"}.uk-icon-align-right:before{content:"\f038"}.uk-icon-align-justify:before{content:"\f039"}.uk-icon-list:before{content:"\f03a"}.uk-icon-dedent:before,.uk-icon-outdent:before{content:"\f03b"}.uk-icon-indent:before{content:"\f03c"}.uk-icon-video-camera:before{content:"\f03d"}.uk-icon-image:before,.uk-icon-photo:before,.uk-icon-picture-o:before{content:"\f03e"}.uk-icon-pencil:before{content:"\f040"}.uk-icon-map-marker:before{content:"\f041"}.uk-icon-adjust:before{content:"\f042"}.uk-icon-tint:before{content:"\f043"}.uk-icon-edit:before,.uk-icon-pencil-square-o:before{content:"\f044"}.uk-icon-share-square-o:before{content:"\f045"}.uk-icon-check-square-o:before{content:"\f046"}.uk-icon-arrows:before{content:"\f047"}.uk-icon-step-backward:before{content:"\f048"}.uk-icon-fast-backward:before{content:"\f049"}.uk-icon-backward:before{content:"\f04a"}.uk-icon-play:before{content:"\f04b"}.uk-icon-pause:before{content:"\f04c"}.uk-icon-stop:before{content:"\f04d"}.uk-icon-forward:before{content:"\f04e"}.uk-icon-fast-forward:before{content:"\f050"}.uk-icon-step-forward:before{content:"\f051"}.uk-icon-eject:before{content:"\f052"}.uk-icon-chevron-left:before{content:"\f053"}.uk-icon-chevron-right:before{content:"\f054"}.uk-icon-plus-circle:before{content:"\f055"}.uk-icon-minus-circle:before{content:"\f056"}.uk-icon-times-circle:before{content:"\f057"}.uk-icon-check-circle:before{content:"\f058"}.uk-icon-question-circle:before{content:"\f059"}.uk-icon-info-circle:before{content:"\f05a"}.uk-icon-crosshairs:before{content:"\f05b"}.uk-icon-times-circle-o:before{content:"\f05c"}.uk-icon-check-circle-o:before{content:"\f05d"}.uk-icon-ban:before{content:"\f05e"}.uk-icon-arrow-left:before{content:"\f060"}.uk-icon-arrow-right:before{content:"\f061"}.uk-icon-arrow-up:before{content:"\f062"}.uk-icon-arrow-down:before{content:"\f063"}.uk-icon-mail-forward:before,.uk-icon-share:before{content:"\f064"}.uk-icon-expand:before{content:"\f065"}.uk-icon-compress:before{content:"\f066"}.uk-icon-plus:before{content:"\f067"}.uk-icon-minus:before{content:"\f068"}.uk-icon-asterisk:before{content:"\f069"}.uk-icon-exclamation-circle:before{content:"\f06a"}.uk-icon-gift:before{content:"\f06b"}.uk-icon-leaf:before{content:"\f06c"}.uk-icon-fire:before{content:"\f06d"}.uk-icon-eye:before{content:"\f06e"}.uk-icon-eye-slash:before{content:"\f070"}.uk-icon-exclamation-triangle:before,.uk-icon-warning:before{content:"\f071"}.uk-icon-plane:before{content:"\f072"}.uk-icon-calendar:before{content:"\f073"}.uk-icon-random:before{content:"\f074"}.uk-icon-comment:before{content:"\f075"}.uk-icon-magnet:before{content:"\f076"}.uk-icon-chevron-up:before{content:"\f077"}.uk-icon-chevron-down:before{content:"\f078"}.uk-icon-retweet:before{content:"\f079"}.uk-icon-shopping-cart:before{content:"\f07a"}.uk-icon-folder:before{content:"\f07b"}.uk-icon-folder-open:before{content:"\f07c"}.uk-icon-arrows-v:before{content:"\f07d"}.uk-icon-arrows-h:before{content:"\f07e"}.uk-icon-bar-chart-o:before,.uk-icon-bar-chart:before{content:"\f080"}.uk-icon-twitter-square:before{content:"\f081"}.uk-icon-facebook-square:before{content:"\f082"}.uk-icon-camera-retro:before{content:"\f083"}.uk-icon-key:before{content:"\f084"}.uk-icon-cogs:before,.uk-icon-gears:before{content:"\f085"}.uk-icon-comments:before{content:"\f086"}.uk-icon-thumbs-o-up:before{content:"\f087"}.uk-icon-thumbs-o-down:before{content:"\f088"}.uk-icon-star-half:before{content:"\f089"}.uk-icon-heart-o:before{content:"\f08a"}.uk-icon-sign-out:before{content:"\f08b"}.uk-icon-linkedin-square:before{content:"\f08c"}.uk-icon-thumb-tack:before{content:"\f08d"}.uk-icon-external-link:before{content:"\f08e"}.uk-icon-sign-in:before{content:"\f090"}.uk-icon-trophy:before{content:"\f091"}.uk-icon-github-square:before{content:"\f092"}.uk-icon-upload:before{content:"\f093"}.uk-icon-lemon-o:before{content:"\f094"}.uk-icon-phone:before{content:"\f095"}.uk-icon-square-o:before{content:"\f096"}.uk-icon-bookmark-o:before{content:"\f097"}.uk-icon-phone-square:before{content:"\f098"}.uk-icon-twitter:before{content:"\f099"}.uk-icon-facebook-f:before,.uk-icon-facebook:before{content:"\f09a"}.uk-icon-github:before{content:"\f09b"}.uk-icon-unlock:before{content:"\f09c"}.uk-icon-credit-card:before{content:"\f09d"}.uk-icon-rss:before{content:"\f09e"}.uk-icon-hdd-o:before{content:"\f0a0"}.uk-icon-bullhorn:before{content:"\f0a1"}.uk-icon-bell:before{content:"\f0f3"}.uk-icon-certificate:before{content:"\f0a3"}.uk-icon-hand-o-right:before{content:"\f0a4"}.uk-icon-hand-o-left:before{content:"\f0a5"}.uk-icon-hand-o-up:before{content:"\f0a6"}.uk-icon-hand-o-down:before{content:"\f0a7"}.uk-icon-arrow-circle-left:before{content:"\f0a8"}.uk-icon-arrow-circle-right:before{content:"\f0a9"}.uk-icon-arrow-circle-up:before{content:"\f0aa"}.uk-icon-arrow-circle-down:before{content:"\f0ab"}.uk-icon-globe:before{content:"\f0ac"}.uk-icon-wrench:before{content:"\f0ad"}.uk-icon-tasks:before{content:"\f0ae"}.uk-icon-filter:before{content:"\f0b0"}.uk-icon-briefcase:before{content:"\f0b1"}.uk-icon-arrows-alt:before{content:"\f0b2"}.uk-icon-group:before,.uk-icon-users:before{content:"\f0c0"}.uk-icon-chain:before,.uk-icon-link:before{content:"\f0c1"}.uk-icon-cloud:before{content:"\f0c2"}.uk-icon-flask:before{content:"\f0c3"}.uk-icon-cut:before,.uk-icon-scissors:before{content:"\f0c4"}.uk-icon-copy:before,.uk-icon-files-o:before{content:"\f0c5"}.uk-icon-paperclip:before{content:"\f0c6"}.uk-icon-floppy-o:before,.uk-icon-save:before{content:"\f0c7"}.uk-icon-square:before{content:"\f0c8"}.uk-icon-bars:before,.uk-icon-navicon:before,.uk-icon-reorder:before{content:"\f0c9"}.uk-icon-list-ul:before{content:"\f0ca"}.uk-icon-list-ol:before{content:"\f0cb"}.uk-icon-strikethrough:before{content:"\f0cc"}.uk-icon-underline:before{content:"\f0cd"}.uk-icon-table:before{content:"\f0ce"}.uk-icon-magic:before{content:"\f0d0"}.uk-icon-truck:before{content:"\f0d1"}.uk-icon-pinterest:before{content:"\f0d2"}.uk-icon-pinterest-square:before{content:"\f0d3"}.uk-icon-google-plus-square:before{content:"\f0d4"}.uk-icon-google-plus:before{content:"\f0d5"}.uk-icon-money:before{content:"\f0d6"}.uk-icon-caret-down:before{content:"\f0d7"}.uk-icon-caret-up:before{content:"\f0d8"}.uk-icon-caret-left:before{content:"\f0d9"}.uk-icon-caret-right:before{content:"\f0da"}.uk-icon-columns:before{content:"\f0db"}.uk-icon-sort:before,.uk-icon-unsorted:before{content:"\f0dc"}.uk-icon-sort-desc:before,.uk-icon-sort-down:before{content:"\f0dd"}.uk-icon-sort-asc:before,.uk-icon-sort-up:before{content:"\f0de"}.uk-icon-envelope:before{content:"\f0e0"}.uk-icon-linkedin:before{content:"\f0e1"}.uk-icon-rotate-left:before,.uk-icon-undo:before{content:"\f0e2"}.uk-icon-gavel:before,.uk-icon-legal:before{content:"\f0e3"}.uk-icon-dashboard:before,.uk-icon-tachometer:before{content:"\f0e4"}.uk-icon-comment-o:before{content:"\f0e5"}.uk-icon-comments-o:before{content:"\f0e6"}.uk-icon-bolt:before,.uk-icon-flash:before{content:"\f0e7"}.uk-icon-sitemap:before{content:"\f0e8"}.uk-icon-umbrella:before{content:"\f0e9"}.uk-icon-clipboard:before,.uk-icon-paste:before{content:"\f0ea"}.uk-icon-lightbulb-o:before{content:"\f0eb"}.uk-icon-exchange:before{content:"\f0ec"}.uk-icon-cloud-download:before{content:"\f0ed"}.uk-icon-cloud-upload:before{content:"\f0ee"}.uk-icon-user-md:before{content:"\f0f0"}.uk-icon-stethoscope:before{content:"\f0f1"}.uk-icon-suitcase:before{content:"\f0f2"}.uk-icon-bell-o:before{content:"\f0a2"}.uk-icon-coffee:before{content:"\f0f4"}.uk-icon-cutlery:before{content:"\f0f5"}.uk-icon-file-text-o:before{content:"\f0f6"}.uk-icon-building-o:before{content:"\f0f7"}.uk-icon-hospital-o:before{content:"\f0f8"}.uk-icon-ambulance:before{content:"\f0f9"}.uk-icon-medkit:before{content:"\f0fa"}.uk-icon-fighter-jet:before{content:"\f0fb"}.uk-icon-beer:before{content:"\f0fc"}.uk-icon-h-square:before{content:"\f0fd"}.uk-icon-plus-square:before{content:"\f0fe"}.uk-icon-angle-double-left:before{content:"\f100"}.uk-icon-angle-double-right:before{content:"\f101"}.uk-icon-angle-double-up:before{content:"\f102"}.uk-icon-angle-double-down:before{content:"\f103"}.uk-icon-angle-left:before{content:"\f104"}.uk-icon-angle-right:before{content:"\f105"}.uk-icon-angle-up:before{content:"\f106"}.uk-icon-angle-down:before{content:"\f107"}.uk-icon-desktop:before{content:"\f108"}.uk-icon-laptop:before{content:"\f109"}.uk-icon-tablet:before{content:"\f10a"}.uk-icon-mobile-phone:before,.uk-icon-mobile:before{content:"\f10b"}.uk-icon-circle-o:before{content:"\f10c"}.uk-icon-quote-left:before{content:"\f10d"}.uk-icon-quote-right:before{content:"\f10e"}.uk-icon-spinner:before{content:"\f110"}.uk-icon-circle:before{content:"\f111"}.uk-icon-mail-reply:before,.uk-icon-reply:before{content:"\f112"}.uk-icon-github-alt:before{content:"\f113"}.uk-icon-folder-o:before{content:"\f114"}.uk-icon-folder-open-o:before{content:"\f115"}.uk-icon-smile-o:before{content:"\f118"}.uk-icon-frown-o:before{content:"\f119"}.uk-icon-meh-o:before{content:"\f11a"}.uk-icon-gamepad:before{content:"\f11b"}.uk-icon-keyboard-o:before{content:"\f11c"}.uk-icon-flag-o:before{content:"\f11d"}.uk-icon-flag-checkered:before{content:"\f11e"}.uk-icon-terminal:before{content:"\f120"}.uk-icon-code:before{content:"\f121"}.uk-icon-mail-reply-all:before,.uk-icon-reply-all:before{content:"\f122"}.uk-icon-star-half-empty:before,.uk-icon-star-half-full:before,.uk-icon-star-half-o:before{content:"\f123"}.uk-icon-location-arrow:before{content:"\f124"}.uk-icon-crop:before{content:"\f125"}.uk-icon-code-fork:before{content:"\f126"}.uk-icon-chain-broken:before,.uk-icon-unlink:before{content:"\f127"}.uk-icon-question:before{content:"\f128"}.uk-icon-info:before{content:"\f129"}.uk-icon-exclamation:before{content:"\f12a"}.uk-icon-superscript:before{content:"\f12b"}.uk-icon-subscript:before{content:"\f12c"}.uk-icon-eraser:before{content:"\f12d"}.uk-icon-puzzle-piece:before{content:"\f12e"}.uk-icon-microphone:before{content:"\f130"}.uk-icon-microphone-slash:before{content:"\f131"}.uk-icon-shield:before{content:"\f132"}.uk-icon-calendar-o:before{content:"\f133"}.uk-icon-fire-extinguisher:before{content:"\f134"}.uk-icon-rocket:before{content:"\f135"}.uk-icon-maxcdn:before{content:"\f136"}.uk-icon-chevron-circle-left:before{content:"\f137"}.uk-icon-chevron-circle-right:before{content:"\f138"}.uk-icon-chevron-circle-up:before{content:"\f139"}.uk-icon-chevron-circle-down:before{content:"\f13a"}.uk-icon-html5:before{content:"\f13b"}.uk-icon-css3:before{content:"\f13c"}.uk-icon-anchor:before{content:"\f13d"}.uk-icon-unlock-alt:before{content:"\f13e"}.uk-icon-bullseye:before{content:"\f140"}.uk-icon-ellipsis-h:before{content:"\f141"}.uk-icon-ellipsis-v:before{content:"\f142"}.uk-icon-rss-square:before{content:"\f143"}.uk-icon-play-circle:before{content:"\f144"}.uk-icon-ticket:before{content:"\f145"}.uk-icon-minus-square:before{content:"\f146"}.uk-icon-minus-square-o:before{content:"\f147"}.uk-icon-level-up:before{content:"\f148"}.uk-icon-level-down:before{content:"\f149"}.uk-icon-check-square:before{content:"\f14a"}.uk-icon-pencil-square:before{content:"\f14b"}.uk-icon-external-link-square:before{content:"\f14c"}.uk-icon-share-square:before{content:"\f14d"}.uk-icon-compass:before{content:"\f14e"}.uk-icon-caret-square-o-down:before,.uk-icon-toggle-down:before{content:"\f150"}.uk-icon-caret-square-o-up:before,.uk-icon-toggle-up:before{content:"\f151"}.uk-icon-caret-square-o-right:before,.uk-icon-toggle-right:before{content:"\f152"}.uk-icon-eur:before,.uk-icon-euro:before{content:"\f153"}.uk-icon-gbp:before{content:"\f154"}.uk-icon-dollar:before,.uk-icon-usd:before{content:"\f155"}.uk-icon-inr:before,.uk-icon-rupee:before{content:"\f156"}.uk-icon-cny:before,.uk-icon-jpy:before,.uk-icon-rmb:before,.uk-icon-yen:before{content:"\f157"}.uk-icon-rouble:before,.uk-icon-rub:before,.uk-icon-ruble:before{content:"\f158"}.uk-icon-krw:before,.uk-icon-won:before{content:"\f159"}.uk-icon-bitcoin:before,.uk-icon-btc:before{content:"\f15a"}.uk-icon-file:before{content:"\f15b"}.uk-icon-file-text:before{content:"\f15c"}.uk-icon-sort-alpha-asc:before{content:"\f15d"}.uk-icon-sort-alpha-desc:before{content:"\f15e"}.uk-icon-sort-amount-asc:before{content:"\f160"}.uk-icon-sort-amount-desc:before{content:"\f161"}.uk-icon-sort-numeric-asc:before{content:"\f162"}.uk-icon-sort-numeric-desc:before{content:"\f163"}.uk-icon-thumbs-up:before{content:"\f164"}.uk-icon-thumbs-down:before{content:"\f165"}.uk-icon-youtube-square:before{content:"\f166"}.uk-icon-youtube:before{content:"\f167"}.uk-icon-xing:before{content:"\f168"}.uk-icon-xing-square:before{content:"\f169"}.uk-icon-youtube-play:before{content:"\f16a"}.uk-icon-dropbox:before{content:"\f16b"}.uk-icon-stack-overflow:before{content:"\f16c"}.uk-icon-instagram:before{content:"\f16d"}.uk-icon-flickr:before{content:"\f16e"}.uk-icon-adn:before{content:"\f170"}.uk-icon-bitbucket:before{content:"\f171"}.uk-icon-bitbucket-square:before{content:"\f172"}.uk-icon-tumblr:before{content:"\f173"}.uk-icon-tumblr-square:before{content:"\f174"}.uk-icon-long-arrow-down:before{content:"\f175"}.uk-icon-long-arrow-up:before{content:"\f176"}.uk-icon-long-arrow-left:before{content:"\f177"}.uk-icon-long-arrow-right:before{content:"\f178"}.uk-icon-apple:before{content:"\f179"}.uk-icon-windows:before{content:"\f17a"}.uk-icon-android:before{content:"\f17b"}.uk-icon-linux:before{content:"\f17c"}.uk-icon-dribbble:before{content:"\f17d"}.uk-icon-skype:before{content:"\f17e"}.uk-icon-foursquare:before{content:"\f180"}.uk-icon-trello:before{content:"\f181"}.uk-icon-female:before{content:"\f182"}.uk-icon-male:before{content:"\f183"}.uk-icon-gittip:before,.uk-icon-gratipay:before{content:"\f184"}.uk-icon-sun-o:before{content:"\f185"}.uk-icon-moon-o:before{content:"\f186"}.uk-icon-archive:before{content:"\f187"}.uk-icon-bug:before{content:"\f188"}.uk-icon-vk:before{content:"\f189"}.uk-icon-weibo:before{content:"\f18a"}.uk-icon-renren:before{content:"\f18b"}.uk-icon-pagelines:before{content:"\f18c"}.uk-icon-stack-exchange:before{content:"\f18d"}.uk-icon-arrow-circle-o-right:before{content:"\f18e"}.uk-icon-arrow-circle-o-left:before{content:"\f190"}.uk-icon-caret-square-o-left:before,.uk-icon-toggle-left:before{content:"\f191"}.uk-icon-dot-circle-o:before{content:"\f192"}.uk-icon-wheelchair:before{content:"\f193"}.uk-icon-vimeo-square:before{content:"\f194"}.uk-icon-try:before,.uk-icon-turkish-lira:before{content:"\f195"}.uk-icon-plus-square-o:before{content:"\f196"}.uk-icon-space-shuttle:before{content:"\f197"}.uk-icon-slack:before{content:"\f198"}.uk-icon-envelope-square:before{content:"\f199"}.uk-icon-wordpress:before{content:"\f19a"}.uk-icon-openid:before{content:"\f19b"}.uk-icon-bank:before,.uk-icon-institution:before,.uk-icon-university:before{content:"\f19c"}.uk-icon-graduation-cap:before,.uk-icon-mortar-board:before{content:"\f19d"}.uk-icon-yahoo:before{content:"\f19e"}.uk-icon-google:before{content:"\f1a0"}.uk-icon-reddit:before{content:"\f1a1"}.uk-icon-reddit-square:before{content:"\f1a2"}.uk-icon-stumbleupon-circle:before{content:"\f1a3"}.uk-icon-stumbleupon:before{content:"\f1a4"}.uk-icon-delicious:before{content:"\f1a5"}.uk-icon-digg:before{content:"\f1a6"}.uk-icon-pied-piper:before{content:"\f1a7"}.uk-icon-pied-piper-alt:before{content:"\f1a8"}.uk-icon-drupal:before{content:"\f1a9"}.uk-icon-joomla:before{content:"\f1aa"}.uk-icon-language:before{content:"\f1ab"}.uk-icon-fax:before{content:"\f1ac"}.uk-icon-building:before{content:"\f1ad"}.uk-icon-child:before{content:"\f1ae"}.uk-icon-paw:before{content:"\f1b0"}.uk-icon-spoon:before{content:"\f1b1"}.uk-icon-cube:before{content:"\f1b2"}.uk-icon-cubes:before{content:"\f1b3"}.uk-icon-behance:before{content:"\f1b4"}.uk-icon-behance-square:before{content:"\f1b5"}.uk-icon-steam:before{content:"\f1b6"}.uk-icon-steam-square:before{content:"\f1b7"}.uk-icon-recycle:before{content:"\f1b8"}.uk-icon-automobile:before,.uk-icon-car:before{content:"\f1b9"}.uk-icon-cab:before,.uk-icon-taxi:before{content:"\f1ba"}.uk-icon-tree:before{content:"\f1bb"}.uk-icon-spotify:before{content:"\f1bc"}.uk-icon-deviantart:before{content:"\f1bd"}.uk-icon-soundcloud:before{content:"\f1be"}.uk-icon-database:before{content:"\f1c0"}.uk-icon-file-pdf-o:before{content:"\f1c1"}.uk-icon-file-word-o:before{content:"\f1c2"}.uk-icon-file-excel-o:before{content:"\f1c3"}.uk-icon-file-powerpoint-o:before{content:"\f1c4"}.uk-icon-file-image-o:before,.uk-icon-file-photo-o:before,.uk-icon-file-picture-o:before{content:"\f1c5"}.uk-icon-file-archive-o:before,.uk-icon-file-zip-o:before{content:"\f1c6"}.uk-icon-file-audio-o:before,.uk-icon-file-sound-o:before{content:"\f1c7"}.uk-icon-file-movie-o:before,.uk-icon-file-video-o:before{content:"\f1c8"}.uk-icon-file-code-o:before{content:"\f1c9"}.uk-icon-vine:before{content:"\f1ca"}.uk-icon-codepen:before{content:"\f1cb"}.uk-icon-jsfiddle:before{content:"\f1cc"}.uk-icon-life-bouy:before,.uk-icon-life-buoy:before,.uk-icon-life-ring:before,.uk-icon-life-saver:before,.uk-icon-support:before{content:"\f1cd"}.uk-icon-circle-o-notch:before{content:"\f1ce"}.uk-icon-ra:before,.uk-icon-rebel:before{content:"\f1d0"}.uk-icon-empire:before,.uk-icon-ge:before{content:"\f1d1"}.uk-icon-git-square:before{content:"\f1d2"}.uk-icon-git:before{content:"\f1d3"}.uk-icon-hacker-news:before{content:"\f1d4"}.uk-icon-tencent-weibo:before{content:"\f1d5"}.uk-icon-qq:before{content:"\f1d6"}.uk-icon-wechat:before,.uk-icon-weixin:before{content:"\f1d7"}.uk-icon-paper-plane:before,.uk-icon-send:before{content:"\f1d8"}.uk-icon-paper-plane-o:before,.uk-icon-send-o:before{content:"\f1d9"}.uk-icon-history:before{content:"\f1da"}.uk-icon-circle-thin:before,.uk-icon-genderless:before{content:"\f1db"}.uk-icon-header:before{content:"\f1dc"}.uk-icon-paragraph:before{content:"\f1dd"}.uk-icon-sliders:before{content:"\f1de"}.uk-icon-share-alt:before{content:"\f1e0"}.uk-icon-share-alt-square:before{content:"\f1e1"}.uk-icon-bomb:before{content:"\f1e2"}.uk-icon-futbol-o:before,.uk-icon-soccer-ball-o:before{content:"\f1e3"}.uk-icon-tty:before{content:"\f1e4"}.uk-icon-binoculars:before{content:"\f1e5"}.uk-icon-plug:before{content:"\f1e6"}.uk-icon-slideshare:before{content:"\f1e7"}.uk-icon-twitch:before{content:"\f1e8"}.uk-icon-yelp:before{content:"\f1e9"}.uk-icon-newspaper-o:before{content:"\f1ea"}.uk-icon-wifi:before{content:"\f1eb"}.uk-icon-calculator:before{content:"\f1ec"}.uk-icon-paypal:before{content:"\f1ed"}.uk-icon-google-wallet:before{content:"\f1ee"}.uk-icon-cc-visa:before{content:"\f1f0"}.uk-icon-cc-mastercard:before{content:"\f1f1"}.uk-icon-cc-discover:before{content:"\f1f2"}.uk-icon-cc-amex:before{content:"\f1f3"}.uk-icon-cc-paypal:before{content:"\f1f4"}.uk-icon-cc-stripe:before{content:"\f1f5"}.uk-icon-bell-slash:before{content:"\f1f6"}.uk-icon-bell-slash-o:before{content:"\f1f7"}.uk-icon-trash:before{content:"\f1f8"}.uk-icon-copyright:before{content:"\f1f9"}.uk-icon-at:before{content:"\f1fa"}.uk-icon-eyedropper:before{content:"\f1fb"}.uk-icon-paint-brush:before{content:"\f1fc"}.uk-icon-birthday-cake:before{content:"\f1fd"}.uk-icon-area-chart:before{content:"\f1fe"}.uk-icon-pie-chart:before{content:"\f200"}.uk-icon-line-chart:before{content:"\f201"}.uk-icon-lastfm:before{content:"\f202"}.uk-icon-lastfm-square:before{content:"\f203"}.uk-icon-toggle-off:before{content:"\f204"}.uk-icon-toggle-on:before{content:"\f205"}.uk-icon-bicycle:before{content:"\f206"}.uk-icon-bus:before{content:"\f207"}.uk-icon-ioxhost:before{content:"\f208"}.uk-icon-angellist:before{content:"\f209"}.uk-icon-cc:before{content:"\f20a"}.uk-icon-ils:before,.uk-icon-shekel:before,.uk-icon-sheqel:before{content:"\f20b"}.uk-icon-meanpath:before{content:"\f20c"}.uk-icon-buysellads:before{content:"\f20d"}.uk-icon-connectdevelop:before{content:"\f20e"}.uk-icon-dashcube:before{content:"\f210"}.uk-icon-forumbee:before{content:"\f211"}.uk-icon-leanpub:before{content:"\f212"}.uk-icon-sellsy:before{content:"\f213"}.uk-icon-shirtsinbulk:before{content:"\f214"}.uk-icon-simplybuilt:before{content:"\f215"}.uk-icon-skyatlas:before{content:"\f216"}.uk-icon-cart-plus:before{content:"\f217"}.uk-icon-cart-arrow-down:before{content:"\f218"}.uk-icon-diamond:before{content:"\f219"}.uk-icon-ship:before{content:"\f21a"}.uk-icon-user-secret:before{content:"\f21b"}.uk-icon-motorcycle:before{content:"\f21c"}.uk-icon-street-view:before{content:"\f21d"}.uk-icon-heartbeat:before{content:"\f21e"}.uk-icon-venus:before{content:"\f221"}.uk-icon-mars:before{content:"\f222"}.uk-icon-mercury:before{content:"\f223"}.uk-icon-transgender:before{content:"\f224"}.uk-icon-transgender-alt:before{content:"\f225"}.uk-icon-venus-double:before{content:"\f226"}.uk-icon-mars-double:before{content:"\f227"}.uk-icon-venus-mars:before{content:"\f228"}.uk-icon-mars-stroke:before{content:"\f229"}.uk-icon-mars-stroke-v:before{content:"\f22a"}.uk-icon-mars-stroke-h:before{content:"\f22b"}.uk-icon-neuter:before{content:"\f22c"}.uk-icon-facebook-official:before{content:"\f230"}.uk-icon-pinterest-p:before{content:"\f231"}.uk-icon-whatsapp:before{content:"\f232"}.uk-icon-server:before{content:"\f233"}.uk-icon-user-plus:before{content:"\f234"}.uk-icon-user-times:before{content:"\f235"}.uk-icon-bed:before,.uk-icon-hotel:before{content:"\f236"}.uk-icon-viacoin:before{content:"\f237"}.uk-icon-train:before{content:"\f238"}.uk-icon-subway:before{content:"\f239"}.uk-icon-medium-logo:before{content:"\f23a"}.uk-icon-500px:before{content:"\f26e"}.uk-icon-amazon:before{content:"\f270"}.uk-icon-balance-scale:before{content:"\f24e"}.uk-icon-battery-0:before,.uk-icon-battery-empty:before{content:"\f244"}.uk-icon-battery-1:before,.uk-icon-battery-quarter:before{content:"\f243"}.uk-icon-battery-2:before,.uk-icon-battery-half:before{content:"\f242"}.uk-icon-battery-3:before,.uk-icon-battery-three-quarters:before{content:"\f241"}.uk-icon-battery-4:before,.uk-icon-battery-full:before{content:"\f240"}.uk-icon-black-tie:before{content:"\f27e"}.uk-icon-calendar-check-o:before{content:"\f274"}.uk-icon-calendar-minus-o:before{content:"\f272"}.uk-icon-calendar-plus-o:before{content:"\f271"}.uk-icon-calendar-times-o:before{content:"\f273"}.uk-icon-cc-diners-club:before{content:"\f24c"}.uk-icon-cc-jcb:before{content:"\f24b"}.uk-icon-chrome:before{content:"\f268"}.uk-icon-clone:before{content:"\f24d"}.uk-icon-commenting:before{content:"\f27a"}.uk-icon-commenting-o:before{content:"\f27b"}.uk-icon-contao:before{content:"\f26d"}.uk-icon-creative-commons:before{content:"\f25e"}.uk-icon-expeditedssl:before{content:"\f23e"}.uk-icon-firefox:before{content:"\f269"}.uk-icon-fonticons:before{content:"\f280"}.uk-icon-get-pocket:before{content:"\f265"}.uk-icon-gg:before{content:"\f260"}.uk-icon-gg-circle:before{content:"\f261"}.uk-icon-hand-lizard-o:before{content:"\f258"}.uk-icon-hand-paper-o:before,.uk-icon-hand-stop-o:before{content:"\f256"}.uk-icon-hand-peace-o:before{content:"\f25b"}.uk-icon-hand-pointer-o:before{content:"\f25a"}.uk-icon-hand-grab-o:before,.uk-icon-hand-rock-o:before{content:"\f255"}.uk-icon-hand-scissors-o:before{content:"\f257"}.uk-icon-hand-spock-o:before{content:"\f259"}.uk-icon-hourglass:before{content:"\f254"}.uk-icon-hourglass-o:before{content:"\f250"}.uk-icon-hourglass-1:before,.uk-icon-hourglass-start:before{content:"\f251"}.uk-icon-hourglass-2:before,.uk-icon-hourglass-half:before{content:"\f252"}.uk-icon-hourglass-3:before,.uk-icon-hourglass-end:before{content:"\f253"}.uk-icon-houzz:before{content:"\f27c"}.uk-icon-i-cursor:before{content:"\f246"}.uk-icon-industry:before{content:"\f275"}.uk-icon-internet-explorer:before{content:"\f26b"}.uk-icon-map:before{content:"\f279"}.uk-icon-map-o:before{content:"\f278"}.uk-icon-map-pin:before{content:"\f276"}.uk-icon-map-signs:before{content:"\f277"}.uk-icon-mouse-pointer:before{content:"\f245"}.uk-icon-object-group:before{content:"\f247"}.uk-icon-object-ungroup:before{content:"\f248"}.uk-icon-odnoklassniki:before{content:"\f263"}.uk-icon-odnoklassniki-square:before{content:"\f264"}.uk-icon-opencart:before{content:"\f23d"}.uk-icon-opera:before{content:"\f26a"}.uk-icon-optin-monster:before{content:"\f23c"}.uk-icon-registered:before{content:"\f25d"}.uk-icon-safari:before{content:"\f267"}.uk-icon-sticky-note:before{content:"\f249"}.uk-icon-sticky-note-o:before{content:"\f24a"}.uk-icon-television:before,.uk-icon-tv:before{content:"\f26c"}.uk-icon-trademark:before{content:"\f25c"}.uk-icon-tripadvisor:before{content:"\f262"}.uk-icon-vimeo:before{content:"\f27d"}.uk-icon-wikipedia-w:before{content:"\f266"}.uk-icon-y-combinator:before,.uk-icon-yc:before{content:"\f23b"}.uk-icon-y-combinator-square:before,.uk-icon-yc-square:before{content:"\f1d4"}.uk-icon-bluetooth:before{content:"\f293"}.uk-icon-bluetooth-b:before{content:"\f294"}.uk-icon-codiepie:before{content:"\f284"}.uk-icon-credit-card-alt:before{content:"\f283"}.uk-icon-edge:before{content:"\f282"}.uk-icon-fort-awesome:before{content:"\f286"}.uk-icon-hashtag:before{content:"\f292"}.uk-icon-mixcloud:before{content:"\f289"}.uk-icon-modx:before{content:"\f285"}.uk-icon-pause-circle:before{content:"\f28b"}.uk-icon-pause-circle-o:before{content:"\f28c"}.uk-icon-percent:before{content:"\f295"}.uk-icon-product-hunt:before{content:"\f288"}.uk-icon-reddit-alien:before{content:"\f281"}.uk-icon-scribd:before{content:"\f28a"}.uk-icon-shopping-bag:before{content:"\f290"}.uk-icon-shopping-basket:before{content:"\f291"}.uk-icon-stop-circle:before{content:"\f28d"}.uk-icon-stop-circle-o:before{content:"\f28e"}.uk-icon-usb:before{content:"\f287"}.uk-close::-moz-focus-inner{border:0;padding:0}.uk-close{border:none;font:inherit;color:inherit;padding:0;background:0 0;box-sizing:content-box;width:20px;line-height:20px}.uk-close:after{display:block}.uk-close:focus,.uk-close:hover{outline:0;color:inherit;text-decoration:none;cursor:pointer}.uk-badge,a.uk-badge:hover{color:#fff}.uk-close-alt{padding:2px;border-radius:50%;background:#eee;opacity:1}.uk-close-alt:after{opacity:.5}.uk-close-alt:focus:after,.uk-close-alt:hover:after{opacity:.8}.uk-badge{display:inline-block;text-align:center;text-transform:none}.uk-badge-notification{box-sizing:border-box;min-width:18px;font-size:12px;line-height:18px}.uk-badge-success{background-color:#8cc14c}.uk-badge-warning{background-color:#faa732}.uk-badge-danger{background-color:#da314b}.uk-alert{margin-bottom:15px;padding:10px}*+.uk-alert{margin-top:15px}.uk-alert>:last-child{margin-bottom:0}.uk-alert h1,.uk-alert h2,.uk-alert h3,.uk-alert h4,.uk-alert h5,.uk-alert h6{color:inherit}.uk-alert>.uk-close:first-child+*{margin-top:0}.uk-alert-success{color:#659f13}.uk-alert-warning{color:#e28327}.uk-alert-danger{color:#d85030}.uk-alert-large>.uk-close:first-child{margin:-10px -10px 0 0}.uk-overlay,.uk-thumbnail{margin:0;display:inline-block;max-width:100%}.uk-overlay-area-content>:last-child,.uk-overlay-panel.uk-flex>*>:last-child,.uk-overlay-panel>:last-child,.uk-overlay>:first-child{margin-bottom:0}.uk-thumbnail{box-sizing:border-box;padding:4px;border:1px solid #ddd;background:#fff}a.uk-thumbnail:focus,a.uk-thumbnail:hover{border-color:#aaa;background-color:#fff;text-decoration:none;outline:0}.uk-thumbnail-caption{padding-top:4px;text-align:center}.uk-thumbnail-mini{width:150px}.uk-thumbnail-small{width:200px}.uk-thumbnail-medium{width:300px}.uk-thumbnail-large{width:400px}.uk-thumbnail-expand,.uk-thumbnail-expand>img{width:100%}.uk-overlay{position:relative;overflow:hidden;-webkit-transform:translateZ(0)}.uk-overlay-area:empty:before,.uk-overlay-icon:before{content:"\f002";width:50px;height:50px;margin-top:-25px;margin-left:-25px;font-size:50px;line-height:1;text-align:center;font-family:FontAwesome}.uk-overlay.uk-border-circle{-webkit-mask-image:-webkit-radial-gradient(circle,#fff 100%,#000 100%)}.uk-overlay-panel{position:absolute;top:0;bottom:0;left:0;right:0;padding:20px;color:#fff}.uk-overlay-panel a[class*=uk-icon-]:not(.uk-icon-button),.uk-overlay-panel h1,.uk-overlay-panel h2,.uk-overlay-panel h3,.uk-overlay-panel h4,.uk-overlay-panel h5,.uk-overlay-panel h6{color:inherit}.uk-overlay-panel a:not([class]){color:inherit;text-decoration:underline}.uk-overlay-active :not(.uk-active)>.uk-overlay-panel:not(.uk-ignore),.uk-overlay-hover:not(:hover):not(.uk-hover) .uk-overlay-panel:not(.uk-ignore){opacity:0}.uk-overlay-background{background:rgba(0,0,0,.5)}.uk-overlay-image{padding:0}.uk-overlay-top{bottom:auto}.uk-overlay-bottom{top:auto}.uk-overlay-left{right:auto}.uk-overlay-right{left:auto}.uk-overlay-icon:before{position:absolute;top:50%;left:50%;color:#fff}.uk-overlay-blur,.uk-overlay-fade,.uk-overlay-grayscale,.uk-overlay-scale,.uk-overlay-spin,[class*=uk-overlay-slide]{transition-duration:.3s;transition-timing-function:ease-out;transition-property:opacity,transform,filter}.uk-overlay-active .uk-overlay-fade,.uk-overlay-active .uk-overlay-scale,.uk-overlay-active .uk-overlay-spin,.uk-overlay-active [class*=uk-overlay-slide]{transition-duration:.8s}.uk-overlay-fade{opacity:.7}.uk-overlay-active .uk-active>.uk-overlay-fade,.uk-overlay-hover.uk-hover .uk-overlay-fade,.uk-overlay-hover:hover .uk-overlay-fade{opacity:1}.uk-overlay-scale{-webkit-transform:scale(1);transform:scale(1)}.uk-overlay-active .uk-active>.uk-overlay-scale,.uk-overlay-hover.uk-hover .uk-overlay-scale,.uk-overlay-hover:hover .uk-overlay-scale{-webkit-transform:scale(1.1);transform:scale(1.1)}.uk-overlay-spin{-webkit-transform:scale(1) rotate(0);transform:scale(1) rotate(0)}.uk-overlay-active .uk-active>.uk-overlay-spin,.uk-overlay-hover.uk-hover .uk-overlay-spin,.uk-overlay-hover:hover .uk-overlay-spin{-webkit-transform:scale(1.1) rotate(3deg);transform:scale(1.1) rotate(3deg)}.uk-overlay-grayscale{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.uk-overlay-active .uk-active>.uk-overlay-grayscale,.uk-overlay-hover.uk-hover .uk-overlay-grayscale,.uk-overlay-hover:hover .uk-overlay-grayscale{-webkit-filter:grayscale(0);filter:grayscale(0)}[class*=uk-overlay-slide]{opacity:0}.uk-overlay-slide-top{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.uk-overlay-slide-bottom{-webkit-transform:translateY(100%);transform:translateY(100%)}.uk-overlay-slide-left{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.uk-overlay-slide-right{-webkit-transform:translateX(100%);transform:translateX(100%)}.uk-overlay-active .uk-active>[class*=uk-overlay-slide],.uk-overlay-hover.uk-hover [class*=uk-overlay-slide],.uk-overlay-hover:hover [class*=uk-overlay-slide]{opacity:1;-webkit-transform:translateX(0) translateY(0);transform:translateX(0) translateY(0)}.uk-overlay-area,.uk-overlay-caption{-webkit-transform:translate3d(0,0,0);position:absolute;right:0;bottom:0}.uk-overlay-area{top:0;left:0;background:rgba(0,0,0,.3);opacity:0;transition:opacity .15s linear}.uk-overlay-toggle.uk-hover .uk-overlay-area,.uk-overlay-toggle:hover .uk-overlay-area,.uk-overlay.uk-hover .uk-overlay-area,.uk-overlay:hover .uk-overlay-area{opacity:1}.uk-overlay-area:empty:before{position:absolute;top:50%;left:50%;color:#fff}.uk-overlay-area:not(:empty){font-size:0}.uk-overlay-area:not(:empty):before{content:'';display:inline-block;height:100%;vertical-align:middle}.uk-overlay-area-content{display:inline-block;box-sizing:border-box;width:100%;font-size:1rem;text-align:center;padding:0 15px;color:#fff}.uk-overlay-area-content a:not([class]),.uk-overlay-area-content a:not([class]):hover{color:inherit}.uk-overlay-caption{left:0;padding:15px;background:rgba(0,0,0,.5);color:#fff;opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.uk-overlay-toggle.uk-hover .uk-overlay-caption,.uk-overlay-toggle:hover .uk-overlay-caption,.uk-overlay.uk-hover .uk-overlay-caption,.uk-overlay:hover .uk-overlay-caption{opacity:1}[class*=uk-column-]{-webkit-column-gap:25px;-moz-column-gap:25px;column-gap:25px}.uk-column-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}@media (min-width:480px){.uk-column-small-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-small-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-small-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-small-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-small-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}}@media (min-width:768px){.uk-column-medium-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-medium-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-medium-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-medium-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-medium-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}}@media (min-width:960px){.uk-column-large-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-large-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-large-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-large-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-large-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}}[class*=uk-animation-]{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}@media screen{[data-uk-scrollspy*=uk-animation-]:not([data-uk-scrollspy*=target]){opacity:0}}.uk-animation-fade{-webkit-animation-name:uk-fade;animation-name:uk-fade;-webkit-animation-duration:.8s;animation-duration:.8s;-webkit-animation-timing-function:linear!important;animation-timing-function:linear!important}.uk-animation-scale-up{-webkit-animation-name:uk-fade-scale-02;animation-name:uk-fade-scale-02}.uk-animation-scale-down{-webkit-animation-name:uk-fade-scale-18;animation-name:uk-fade-scale-18}.uk-animation-slide-top{-webkit-animation-name:uk-fade-top;animation-name:uk-fade-top}.uk-animation-slide-bottom{-webkit-animation-name:uk-fade-bottom;animation-name:uk-fade-bottom}.uk-animation-slide-left{-webkit-animation-name:uk-fade-left;animation-name:uk-fade-left}.uk-animation-slide-right{-webkit-animation-name:uk-fade-right;animation-name:uk-fade-right}.uk-animation-scale{-webkit-animation-name:uk-scale-12;animation-name:uk-scale-12}.uk-animation-shake{-webkit-animation-name:uk-shake;animation-name:uk-shake}.uk-animation-reverse{-webkit-animation-direction:reverse;animation-direction:reverse;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}.uk-animation-15{-webkit-animation-duration:15s;animation-duration:15s}.uk-animation-top-left{-webkit-transform-origin:0 0;transform-origin:0 0}.uk-animation-top-center{-webkit-transform-origin:50% 0;transform-origin:50% 0}.uk-animation-top-right{-webkit-transform-origin:100% 0;transform-origin:100% 0}.uk-animation-middle-left{-webkit-transform-origin:0 50%;transform-origin:0 50%}.uk-animation-middle-right{-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.uk-animation-bottom-left{-webkit-transform-origin:0 100%;transform-origin:0 100%}.uk-animation-bottom-center{-webkit-transform-origin:50% 100%;transform-origin:50% 100%}.uk-animation-bottom-right{-webkit-transform-origin:100% 100%;transform-origin:100% 100%}.uk-animation-hover:not(:hover),.uk-animation-hover:not(:hover) [class*=uk-animation-],.uk-touch .uk-animation-hover:not(.uk-hover),.uk-touch .uk-animation-hover:not(.uk-hover) [class*=uk-animation-]{-webkit-animation-name:none;animation-name:none}@-webkit-keyframes uk-fade{0%{opacity:0}100%{opacity:1}}@keyframes uk-fade{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes uk-fade-top{0%{opacity:0;-webkit-transform:translateY(-100%)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-fade-top{0%{opacity:0;transform:translateY(-100%)}100%{opacity:1;transform:translateY(0)}}@-webkit-keyframes uk-fade-bottom{0%{opacity:0;-webkit-transform:translateY(100%)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-fade-bottom{0%{opacity:0;transform:translateY(100%)}100%{opacity:1;transform:translateY(0)}}@-webkit-keyframes uk-fade-left{0%{opacity:0;-webkit-transform:translateX(-100%)}100%{opacity:1;-webkit-transform:translateX(0)}}@keyframes uk-fade-left{0%{opacity:0;transform:translateX(-100%)}100%{opacity:1;transform:translateX(0)}}@-webkit-keyframes uk-fade-right{0%{opacity:0;-webkit-transform:translateX(100%)}100%{opacity:1;-webkit-transform:translateX(0)}}@keyframes uk-fade-right{0%{opacity:0;transform:translateX(100%)}100%{opacity:1;transform:translateX(0)}}@-webkit-keyframes uk-fade-scale-02{0%{opacity:0;-webkit-transform:scale(.2)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes uk-fade-scale-02{0%{opacity:0;transform:scale(.2)}100%{opacity:1;transform:scale(1)}}@-webkit-keyframes uk-fade-scale-15{0%{opacity:0;-webkit-transform:scale(1.5)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes uk-fade-scale-15{0%{opacity:0;transform:scale(1.5)}100%{opacity:1;transform:scale(1)}}@-webkit-keyframes uk-fade-scale-18{0%{opacity:0;-webkit-transform:scale(1.8)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes uk-fade-scale-18{0%{opacity:0;transform:scale(1.8)}100%{opacity:1;transform:scale(1)}}@-webkit-keyframes uk-slide-left{0%{-webkit-transform:translateX(-100%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-left{0%{transform:translateX(-100%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-slide-right{0%{-webkit-transform:translateX(100%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-right{0%{transform:translateX(100%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-slide-left-33{0%{-webkit-transform:translateX(33%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-left-33{0%{transform:translateX(33%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-slide-right-33{0%{-webkit-transform:translateX(-33%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-right-33{0%{transform:translateX(-33%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-scale-12{0%{-webkit-transform:scale(1.2)}100%{-webkit-transform:scale(1)}}@keyframes uk-scale-12{0%{transform:scale(1.2)}100%{transform:scale(1)}}@-webkit-keyframes uk-rotate{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(359deg)}}@keyframes uk-rotate{0%{transform:rotate(0)}100%{transform:rotate(359deg)}}@-webkit-keyframes uk-shake{0%,100%{-webkit-transform:translateX(0)}10%{-webkit-transform:translateX(-9px)}20%{-webkit-transform:translateX(8px)}30%{-webkit-transform:translateX(-7px)}40%{-webkit-transform:translateX(6px)}50%{-webkit-transform:translateX(-5px)}60%{-webkit-transform:translateX(4px)}70%{-webkit-transform:translateX(-3px)}80%{-webkit-transform:translateX(2px)}90%{-webkit-transform:translateX(-1px)}}@keyframes uk-shake{0%,100%{transform:translateX(0)}10%{transform:translateX(-9px)}20%{transform:translateX(8px)}30%{transform:translateX(-7px)}40%{transform:translateX(6px)}50%{transform:translateX(-5px)}60%{transform:translateX(4px)}70%{transform:translateX(-3px)}80%{transform:translateX(2px)}90%{transform:translateX(-1px)}}@-webkit-keyframes uk-slide-top-fixed{0%{opacity:0;-webkit-transform:translateY(-10px)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-slide-top-fixed{0%{opacity:0;transform:translateY(-10px)}100%{opacity:1;transform:translateY(0)}}@-webkit-keyframes uk-slide-bottom-fixed{0%{opacity:0;-webkit-transform:translateY(10px)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-slide-bottom-fixed{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:translateY(0)}}.uk-dropdown,.uk-dropdown-blank{display:none;position:absolute;z-index:1020;box-sizing:border-box;width:200px}.uk-dropdown{padding:15px;background:#f5f5f5;color:#444;font-size:1rem;vertical-align:top}.uk-open>.uk-dropdown,.uk-open>.uk-dropdown-blank{display:block;-webkit-animation:uk-fade .2s ease-in-out;animation:uk-fade .2s ease-in-out;-webkit-transform-origin:0 0;transform-origin:0 0}.uk-dropdown-top{margin-top:-5px}.uk-dropdown-bottom{margin-top:5px}.uk-dropdown-left{margin-left:-5px}.uk-dropdown-right{margin-left:5px}.uk-dropdown .uk-nav{margin:0 -15px}.uk-dropdown-grid>[class*=uk-width-]>.uk-panel+.uk-panel,.uk-dropdown-stack>.uk-dropdown-grid>[class*=uk-width-]:nth-child(n+2),.uk-grid .uk-dropdown-grid+.uk-dropdown-grid{margin-top:15px}@media (min-width:768px){.uk-dropdown:not(.uk-dropdown-stack)>.uk-dropdown-grid{margin-left:-15px;margin-right:-15px}.uk-dropdown:not(.uk-dropdown-stack)>.uk-dropdown-grid>[class*=uk-width-]{padding-left:15px;padding-right:15px}.uk-dropdown:not(.uk-dropdown-stack)>.uk-dropdown-grid>[class*=uk-width-]:nth-child(n+2){border-left:1px solid #ddd}.uk-dropdown-width-2:not(.uk-dropdown-stack){width:400px}.uk-dropdown-width-3:not(.uk-dropdown-stack){width:600px}.uk-dropdown-width-4:not(.uk-dropdown-stack){width:800px}.uk-dropdown-width-5:not(.uk-dropdown-stack){width:1000px}}@media (max-width:767px){.uk-dropdown-grid>[class*=uk-width-]{width:100%}.uk-dropdown-grid>[class*=uk-width-]:nth-child(n+2){margin-top:15px}}.uk-dropdown-stack>.uk-dropdown-grid>[class*=uk-width-]{width:100%}.uk-dropdown-small{min-width:150px;width:auto;padding:5px;white-space:nowrap}.uk-dropdown-small .uk-nav{margin:0 -5px}.uk-dropdown-navbar{margin-top:0;background:#f5f5f5;color:#444}.uk-open>.uk-dropdown-navbar{-webkit-animation:uk-slide-top-fixed .2s ease-in-out;animation:uk-slide-top-fixed .2s ease-in-out}.uk-dropdown-scrollable{overflow-y:auto;max-height:200px}.uk-modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:auto;-webkit-overflow-scrolling:touch;opacity:0;touch-action:cross-slide-y pinch-zoom double-tap-zoom;-webkit-transform:translateZ(0);transform:translateZ(0)}.uk-modal.uk-open{opacity:1}.uk-modal-page,.uk-modal-page body{overflow:hidden}.uk-modal-dialog{position:relative;box-sizing:border-box;margin:50px auto;width:600px;max-width:100%;max-width:calc(100% - 20px);background:#fff;opacity:0;-webkit-transform:translateY(-100px);transform:translateY(-100px)}@media (max-width:767px){.uk-modal-dialog{width:auto;margin:10px auto}.uk-modal-dialog-lightbox>.uk-close:first-child{top:-7px;right:-7px}}.uk-open .uk-modal-dialog{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}.uk-modal-dialog>:not([class*=uk-modal-]):last-child{margin-bottom:0}.uk-modal-dialog>.uk-close:first-child+:not([class*=uk-modal-]){margin-top:0}.uk-modal-dialog-lightbox{margin:15px auto;max-width:95%;max-width:calc(100% - 30px)}.uk-modal-dialog-lightbox>.uk-close:first-child{position:absolute;margin:0;float:none}.uk-modal-dialog-blank{margin:0;padding:0;width:100%;max-width:100%;-webkit-transition:opacity .3s linear;transition:opacity .3s linear}.uk-modal-dialog-blank>.uk-close:first-child{position:absolute;top:20px;right:20px;z-index:1;margin:0;float:none}@media (min-width:768px){.uk-modal-dialog-large{width:930px}}@media (min-width:1220px){.uk-column-xlarge-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-xlarge-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-xlarge-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-xlarge-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-xlarge-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}.uk-modal-dialog-large{width:1130px}}.uk-modal-header{margin-bottom:15px}.uk-modal-footer{margin-top:15px}.uk-modal-footer>:last-child,.uk-modal-header>:last-child{margin-bottom:0}.uk-modal-caption{position:absolute;left:0;right:0;bottom:-20px;margin-bottom:-10px;color:#fff;text-align:center;overflow:hidden}.uk-modal-spinner{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);font-size:25px;color:#ddd}.uk-offcanvas,.uk-offcanvas-bar{position:fixed;left:0;top:0;bottom:0}.uk-modal-spinner:after{content:"\f110";font-family:FontAwesome;-webkit-animation:uk-rotate 2s infinite linear;animation:uk-rotate 2s infinite linear}.uk-clearfix:after,.uk-clearfix:before,.uk-container:after,.uk-container:before{content:""}.uk-offcanvas{display:none;right:0;z-index:1000;touch-action:none;background:rgba(0,0,0,.1)}.uk-offcanvas.uk-active{display:block}.uk-offcanvas-page{position:fixed;-webkit-transition:margin-left .3s ease-in-out;transition:margin-left .3s ease-in-out}.uk-offcanvas-bar{-webkit-transform:translateX(-100%);transform:translateX(-100%);z-index:1001;width:270px;max-width:100%;background:#333;overflow-y:auto;-webkit-overflow-scrolling:touch;-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;-ms-scroll-chaining:none}.uk-offcanvas.uk-active .uk-offcanvas-bar.uk-offcanvas-bar-show{-webkit-transform:translateX(0);transform:translateX(0)}.uk-offcanvas-bar-flip{left:auto;right:0;-webkit-transform:translateX(100%);transform:translateX(100%)}.uk-offcanvas .uk-panel{margin:20px 15px;color:#777}.uk-offcanvas .uk-panel a:not([class]),.uk-offcanvas .uk-panel-title{color:#ccc}.uk-offcanvas .uk-panel a:not([class]):hover{color:#fff}.uk-switcher{margin:0;padding:0;list-style:none;touch-action:cross-slide-y pinch-zoom double-tap-zoom}.uk-switcher>:not(.uk-active){display:none}.uk-text-small{line-height:16px}.uk-text-large{font-size:18px;line-height:24px;font-weight:400}.uk-text-bold{font-weight:700}.uk-text-contrast{color:#fff!important}.uk-text-left{text-align:left!important}.uk-text-right{text-align:right!important}.uk-text-center{text-align:center!important}.uk-text-justify{text-align:justify!important}.uk-text-top{vertical-align:top!important}.uk-text-middle{vertical-align:middle!important}.uk-text-bottom{vertical-align:bottom!important}@media (max-width:959px){.uk-text-center-medium{text-align:center!important}.uk-text-left-medium{text-align:left!important}}.uk-text-nowrap{white-space:nowrap}.uk-text-truncate{overflow:hidden}.uk-text-break{-webkit-hyphens:auto;-ms-hyphens:auto;-moz-hyphens:auto;hyphens:auto}.uk-container{box-sizing:border-box;max-width:980px;padding:0 25px}@media (min-width:1220px){.uk-container{max-width:1200px;padding:0 35px}}.uk-container:after,.uk-container:before{display:table}.uk-container-center{margin-left:auto;margin-right:auto}.uk-clearfix:before{display:table-cell}.uk-clearfix:after{display:table}.uk-nbfc{overflow:hidden}.uk-nbfc-alt{display:table-cell;width:10000px}.uk-float-left{float:left}.uk-float-right{float:right}[class*=uk-float-]{max-width:100%}[class*=uk-align-]{display:block;margin-bottom:15px}.uk-align-left{margin-right:15px;float:left}.uk-align-right{margin-left:15px;float:right}@media (min-width:768px){.uk-align-medium-left{margin-right:15px;float:left}.uk-align-medium-right{margin-left:15px;float:right}}.uk-align-center{margin-left:auto;margin-right:auto}.uk-vertical-align{font-size:0}.uk-vertical-align:before{content:'';display:inline-block;height:100%;vertical-align:middle}.uk-vertical-align-bottom,.uk-vertical-align-middle{display:inline-block;max-width:100%;font-size:1rem}.uk-vertical-align-middle{vertical-align:middle}.uk-vertical-align-bottom{vertical-align:bottom}[class*=uk-height]{box-sizing:border-box}.uk-height-1-1{height:100%}.uk-height-viewport{height:100vh;min-height:600px}.uk-nestable-empty,.uk-sortable-empty{min-height:30px}.uk-responsive-height,.uk-responsive-width{box-sizing:border-box}.uk-responsive-width{max-width:100%!important;height:auto}.uk-responsive-height{max-height:100%;width:auto}.uk-margin{margin-bottom:15px}*+.uk-margin{margin-top:15px}.uk-margin-top{margin-top:15px!important}.uk-margin-left{margin-left:15px!important}.uk-margin-right{margin-right:15px!important}.uk-margin-large{margin-bottom:50px}*+.uk-margin-large{margin-top:50px}.uk-margin-large-left{margin-left:50px!important}.uk-margin-large-right{margin-right:50px!important}.uk-margin-small{margin-bottom:5px}*+.uk-margin-small{margin-top:5px}.uk-margin-small-top{margin-top:5px!important}.uk-margin-small-left{margin-left:5px!important}.uk-margin-small-right{margin-right:5px!important}.uk-margin-remove{margin:0!important}.uk-margin-top-remove{margin-top:0!important}.uk-margin-bottom-remove{margin-bottom:0!important}.uk-overflow-container>:last-child,.uk-scrollable-box>:last-child{margin-bottom:0}.uk-padding-remove{padding:0!important}.uk-padding-top-remove{padding-top:0!important}.uk-padding-bottom-remove{padding-bottom:0!important}.uk-padding-vertical-remove{padding-top:0!important;padding-bottom:0!important}.uk-border-circle{border-radius:50%}.uk-border-rounded{border-radius:5px}.uk-heading-large{font-size:36px;line-height:42px}.uk-link-muted,.uk-link-muted a,.uk-link-muted a:hover,.uk-link-muted:hover{color:#444}.uk-link-reset,.uk-link-reset a,.uk-link-reset a:focus,.uk-link-reset a:hover,.uk-link-reset:focus,.uk-link-reset:hover{color:inherit;text-decoration:none}.uk-scrollable-text{height:300px;overflow-y:scroll;-webkit-overflow-scrolling:touch;resize:both}.uk-scrollable-box{box-sizing:border-box;height:170px;padding:10px;border:1px solid #ddd;overflow:auto;-webkit-overflow-scrolling:touch;resize:both}.uk-contrast .uk-list-line>li:nth-child(n+2),.uk-contrast .uk-nav-side .uk-nav-divider,.uk-contrast .uk-tab-grid:before,.uk-contrast hr{border-top-color:rgba(255,255,255,.2)}.uk-overflow-hidden{overflow:hidden}.uk-overflow-container{overflow:auto;-webkit-overflow-scrolling:touch}.uk-position-absolute,[class*=uk-position-top],[class*=uk-position-bottom]{position:absolute!important}.uk-position-top{top:0;left:0;right:0}.uk-position-bottom{bottom:0;left:0;right:0}.uk-position-top-left{top:0;left:0}.uk-position-top-right{top:0;right:0}.uk-position-bottom-left{bottom:0;left:0}.uk-position-bottom-right{bottom:0;right:0}.uk-position-cover{position:absolute;top:0;bottom:0;left:0;right:0}.uk-position-relative{position:relative!important}.uk-position-z-index{z-index:1}.uk-display-block{display:block!important}.uk-display-inline{display:inline!important}.uk-display-inline-block{display:inline-block!important;max-width:100%}@media (min-width:960px){.uk-hidden-large,.uk-visible-medium,.uk-visible-small{display:none!important}}@media (min-width:768px) and (max-width:959px){.uk-hidden-medium,.uk-visible-large,.uk-visible-small{display:none!important}}@media (max-width:767px){.uk-text-center-small{text-align:center!important}.uk-text-left-small{text-align:left!important}.uk-hidden-small,.uk-visible-large,.uk-visible-medium{display:none!important}}.uk-hidden{display:none!important}.uk-visible-hover:hover .uk-hidden,.uk-visible-hover:hover .uk-invisible{display:block!important;visibility:visible!important}.uk-visible-hover-inline:hover .uk-hidden,.uk-visible-hover-inline:hover .uk-invisible{display:inline-block!important;visibility:visible!important}.uk-notouch .uk-hidden-notouch,.uk-touch .uk-hidden-touch{display:none!important}.uk-flex{display:-ms-flexbox;display:-webkit-flex;display:flex}.uk-flex-inline{display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex}.uk-flex-inline>*,.uk-flex>*{-ms-flex-negative:1}.uk-flex-top{-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start}.uk-flex-middle{-ms-flex-align:center;-webkit-align-items:center;align-items:center}.uk-flex-bottom{-ms-flex-align:end;-webkit-align-items:flex-end;align-items:flex-end}.uk-flex-center{-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.uk-flex-right{-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.uk-flex-space-between{-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.uk-flex-space-around{-ms-flex-pack:distribute;-webkit-justify-content:space-around;justify-content:space-around}.uk-flex-row-reverse{-ms-flex-direction:row-reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse}.uk-flex-column{-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.uk-flex-column-reverse{-ms-flex-direction:column-reverse;-webkit-flex-direction:column-reverse;flex-direction:column-reverse}.uk-flex-nowrap{-ms-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;flex-wrap:nowrap}.uk-flex-wrap{-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.uk-flex-wrap-reverse{-ms-flex-wrap:wrap-reverse;-webkit-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.uk-flex-wrap-top{-ms-flex-line-pack:start;-webkit-align-content:flex-start;align-content:flex-start}.uk-flex-wrap-middle{-ms-flex-line-pack:center;-webkit-align-content:center;align-content:center}.uk-flex-wrap-bottom{-ms-flex-line-pack:end;-webkit-align-content:flex-end;align-content:flex-end}.uk-flex-wrap-space-between{-ms-flex-line-pack:justify;-webkit-align-content:space-between;align-content:space-between}.uk-flex-wrap-space-around{-ms-flex-line-pack:distribute;-webkit-align-content:space-around;align-content:space-around}.uk-flex-order-first{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last{-ms-flex-order:99;-webkit-order:99;order:99}@media (min-width:480px){.uk-flex-order-first-small{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-small{-ms-flex-order:99;-webkit-order:99;order:99}}@media (min-width:768px){.uk-heading-large{font-size:52px;line-height:64px}.uk-flex-order-first-medium{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-medium{-ms-flex-order:99;-webkit-order:99;order:99}}@media (min-width:960px){.uk-flex-order-first-large{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-large{-ms-flex-order:99;-webkit-order:99;order:99}}@media (min-width:1220px){.uk-flex-order-first-xlarge{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-xlarge{-ms-flex-order:99;-webkit-order:99;order:99}}.uk-flex-item-none{-ms-flex:none;-webkit-flex:none;flex:none}.uk-flex-item-auto{-ms-flex:auto;-webkit-flex:auto;flex:auto;-ms-flex-negative:1}.uk-flex-item-1{-ms-flex:1;-webkit-flex:1;flex:1}.uk-contrast{color:#fff}.uk-contrast .uk-link,.uk-contrast a:not([class]){color:rgba(255,255,255,.7);text-decoration:none}.uk-contrast .uk-link:hover,.uk-contrast a:not([class]):hover{color:#fff;text-decoration:underline}.uk-contrast :not(pre)>code,.uk-contrast :not(pre)>kbd,.uk-contrast :not(pre)>samp,.uk-contrast em,.uk-contrast h1,.uk-contrast h2,.uk-contrast h3,.uk-contrast h4,.uk-contrast h5,.uk-contrast h6{color:#fff}.uk-contrast .uk-nav li>a,.uk-contrast .uk-nav li>a:hover{text-decoration:none}.uk-contrast .uk-nav-side>li>a{color:#fff}.uk-contrast .uk-nav-side>li>a:focus,.uk-contrast .uk-nav-side>li>a:hover{background:rgba(255,255,255,.1);color:#fff}.uk-contrast .uk-nav-side>li.uk-active>a{background:#fff;color:#444}.uk-contrast .uk-nav-side .uk-nav-header{color:#fff}.uk-contrast .uk-nav-side ul a{color:rgba(255,255,255,.7)}.uk-contrast .uk-nav-side ul a:hover{color:#fff}.uk-contrast .uk-subnav>*>a{color:rgba(255,255,255,.7);text-decoration:none}.uk-contrast .uk-subnav>*>a:focus,.uk-contrast .uk-subnav>*>a:hover{color:#fff;text-decoration:none}.uk-contrast .uk-subnav>.uk-active>a{color:#fff}.uk-contrast .uk-subnav-line>:nth-child(n+2):before{border-left-color:rgba(255,255,255,.2)}.uk-contrast .uk-subnav-pill>*>a:focus,.uk-contrast .uk-subnav-pill>*>a:hover{background:rgba(255,255,255,.7);color:#444;text-decoration:none}.uk-contrast .uk-subnav-pill>.uk-active>a{background:#fff;color:#444}.uk-contrast .uk-tab{border-bottom-color:rgba(255,255,255,.2)}.uk-contrast .uk-tab>li>a{border-color:transparent;color:rgba(255,255,255,.7)}.uk-contrast .uk-tab>li.uk-open>a,.uk-contrast .uk-tab>li>a:focus,.uk-contrast .uk-tab>li>a:hover{border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.7);color:#444;text-decoration:none}.uk-contrast .uk-tab>li.uk-active>a{border-color:rgba(255,255,255,.2);border-bottom-color:transparent;background:#fff;color:#444}.uk-contrast .uk-tab-center{border-bottom-color:rgba(255,255,255,.2)}.uk-contrast .uk-form input:not([type]),.uk-contrast .uk-form input[type=text],.uk-contrast .uk-form input[type=password],.uk-contrast .uk-form input[type=email],.uk-contrast .uk-form input[type=url],.uk-contrast .uk-form input[type=search],.uk-contrast .uk-form input[type=tel],.uk-contrast .uk-form input[type=number],.uk-contrast .uk-form input[type=datetime],.uk-contrast .uk-form input[type=datetime-local],.uk-contrast .uk-form input[type=date],.uk-contrast .uk-form input[type=month],.uk-contrast .uk-form input[type=time],.uk-contrast .uk-form input[type=week],.uk-contrast .uk-form input[type=color],.uk-contrast .uk-form select,.uk-contrast .uk-form textarea{border-color:rgba(255,255,255,.8);background:rgba(255,255,255,.8);color:#444;background-clip:padding-box}.uk-contrast .uk-form input:not([type]):focus,.uk-contrast .uk-form input[type=text]:focus,.uk-contrast .uk-form input[type=password]:focus,.uk-contrast .uk-form input[type=email]:focus,.uk-contrast .uk-form input[type=url]:focus,.uk-contrast .uk-form input[type=search]:focus,.uk-contrast .uk-form input[type=tel]:focus,.uk-contrast .uk-form input[type=number]:focus,.uk-contrast .uk-form input[type=datetime]:focus,.uk-contrast .uk-form input[type=datetime-local]:focus,.uk-contrast .uk-form input[type=date]:focus,.uk-contrast .uk-form input[type=month]:focus,.uk-contrast .uk-form input[type=time]:focus,.uk-contrast .uk-form input[type=week]:focus,.uk-contrast .uk-form input[type=color]:focus,.uk-contrast .uk-form select:focus,.uk-contrast .uk-form textarea:focus{border-color:#fff;background:#fff;color:#444}.uk-contrast .uk-form :-ms-input-placeholder{color:rgba(68,68,68,.7)!important}.uk-contrast .uk-form ::-moz-placeholder{color:rgba(68,68,68,.7)}.uk-contrast .uk-form ::-webkit-input-placeholder{color:rgba(68,68,68,.7)}.uk-contrast .uk-button{color:#444;background:#fff}.uk-contrast .uk-button:focus,.uk-contrast .uk-button:hover{background-color:rgba(255,255,255,.8);color:#444}.uk-contrast .uk-button.uk-active,.uk-contrast .uk-button:active{background-color:rgba(255,255,255,.7);color:#444}.uk-contrast .uk-button-primary{background-color:#00a8e6;color:#fff}.uk-contrast .uk-button-primary:focus,.uk-contrast .uk-button-primary:hover{background-color:#35b3ee;color:#fff}.uk-contrast .uk-button-primary.uk-active,.uk-contrast .uk-button-primary:active{background-color:#0091ca;color:#fff}.uk-contrast .uk-icon-hover{color:rgba(255,255,255,.7)}.uk-contrast .uk-icon-hover:hover{color:#fff}.uk-contrast .uk-icon-button{background:#fff;color:#444}.uk-contrast .uk-icon-button:focus,.uk-contrast .uk-icon-button:hover{background-color:rgba(255,255,255,.8);color:#444}.uk-contrast .uk-icon-button:active{background-color:rgba(255,255,255,.7);color:#444}.uk-contrast .uk-text-muted{color:rgba(255,255,255,.6)!important}.uk-contrast .uk-text-primary{color:#2d7091!important}@media print{blockquote,img,pre,tr{page-break-inside:avoid}*,:after,:before{background:0 0!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}blockquote,pre{border:1px solid #999}thead{display:table-header-group}img{max-width:100%!important}@page{margin:.5cm}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.uk-alert,.uk-badge{border:none;text-shadow:none}.uk-form-width-large,.uk-form-width-medium,.uk-form-width-mini,.uk-form-width-small,.uk-notify{max-width:100%}[class^=uk-animation-]{-webkit-animation-timing-function:cubic-bezier(.4,0,.2,1);animation-timing-function:cubic-bezier(.4,0,.2,1);-webkit-animation-duration:280ms;animation-duration:280ms}.uk-alert{background:#1976d2;color:#fff;padding-right:32px;position:relative;display:block}.uk-alert-success{background:#8bc34a!important}.uk-alert-danger{background:#e53935!important}.uk-alert-warning{background:#ffa000!important}.uk-alert-info{background:#0097a7!important}.uk-alert-large{padding:24px 32px 24px 24px}.uk-alert-close{position:absolute;top:10px;right:8px;float:none!important;margin:0!important}.uk-alert-close:after{color:#fff!important}.uk-badge{background:#0097a7;padding:5px 10px;border-radius:2px;font-size:13px;line-height:15px;font-weight:400}.uk-badge-primary{background:#2196f3}.uk-badge-danger{background:#e53935}.uk-badge-warning{background:#ffa000}.uk-badge-success{background:#7cb342}.uk-badge-muted{background:#bdbdbd}.uk-badge-notification{border-radius:20px}.uk-badge.inline-label{vertical-align:1px;margin-left:4px}.uk-input-group-addon,.uk-table-align-vertical td,.uk-table-align-vertical th{vertical-align:middle}.uk-badge-outline{border:1px solid rgba(0,0,0,.12);background:#fff;color:#212121;padding-bottom:0;line-height:16px}.uk-button{font-weight:400;border-radius:2px;-webkit-transition:all .2s cubic-bezier(.4,0,.2,1);transition:all .2s cubic-bezier(.4,0,.2,1)}.uk-comment-list>li+li{border-top:1px dashed rgba(0,0,0,.12);margin-top:16px!important}.uk-comment-list .uk-comment+ul{list-style:none;margin:8px 0 0}@media only screen and (min-width:768px){.uk-comment-list .uk-comment+ul{padding-left:48px}}.uk-comment-header{padding:16px 8px 8px;border:none;background:0 0;margin-bottom:0}.uk-comment-title{margin:0;font-size:14px;line-height:20px}.uk-modal{z-index:1304;background:rgba(0,0,0,.5);-webkit-transition:opacity 250ms ease-out;transition:opacity 250ms ease-out;overflow:auto!important}.uk-modal.uk-modal-no-backdrop{background:0 0}.uk-modal-dialog{border-radius:2px;box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22);padding:24px;display:block!important;-webkit-animation:none!important;animation:none!important;-webkit-transition:-webkit-transform 280ms cubic-bezier(.4,0,.2,1),opacity 280ms ease-in;transition:transform 280ms cubic-bezier(.4,0,.2,1),opacity 280ms ease-in;-webkit-transform:scale(0);transform:scale(0)}.uk-open .uk-modal-dialog{-webkit-transform:scale(1);transform:scale(1)}.uk-modal-dialog .uk-modal-header{background:0 0;border-bottom:none;margin:0 -24px 24px;padding:0 32px 0 24px;overflow:hidden}.uk-modal-dialog .uk-modal-header .uk-modal-title{margin:0;font:500 18px/28px Roboto,sans-serif}.uk-modal-dialog .uk-modal-header .uk-modal-title span{font-size:16px;display:block;color:#727272}.uk-modal-dialog .uk-modal-footer{margin:16px -16px -16px;padding:16px;background:#fff;border-top:none}.uk-modal-dialog .uk-modal-footer:after,.uk-modal-dialog .uk-modal-footer:before{content:" ";display:table}.uk-modal-dialog .uk-modal-footer .md-icon-btn{margin-top:2px}.uk-modal-dialog .uk-modal-caption{bottom:16px;margin:0 32px}.uk-modal-dialog>.uk-close:first-child{top:8px;right:8px;position:absolute;float:none;margin:0}.uk-modal-dialog-lightbox{padding:0}.uk-modal-dialog-lightbox>.uk-close:first-child{top:-11px;right:-11px;box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23);border:none}.uk-modal-dialog .uk-overflow-container{margin:16px 0}.uk-modal .uk-margin.uk-modal-content{margin-bottom:0}.uk-modal.uk-modal-dialog-replace .uk-modal-content{font-size:18px}.uk-dropdown{-webkit-transform:scale(.25,0);transform:scale(.25,0);opacity:0;-webkit-transition:all 280ms cubic-bezier(.4,0,.2,1);transition:all 280ms cubic-bezier(.4,0,.2,1);-webkit-animation:none!important;animation:none!important;-webkit-transform-origin:50% 0!important;transform-origin:50% 0!important;box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);border:none;border-radius:2px}.uk-close,.uk-close:focus,.uk-close:hover{opacity:1}.uk-dropdown.uk-dropdown-xlarge{width:360px}@media only screen and (max-width:479px){.uk-dropdown.uk-dropdown-xlarge{width:260px}}.uk-dropdown.uk-dropdown-large{width:260px}.uk-dropdown.uk-dropdown-small{width:160px}.uk-dropdown.uk-dropdown-xsmall{min-width:130px!important;width:130px!important;padding:5px 15px!important}.uk-dropdown>ul>li>a{font-size:14px;color:#212121}.uk-dropdown>ul>li.uk-active>a,.uk-dropdown>ul>li>a:hover{background:rgba(0,0,0,.085)}.uk-dropdown.dropdown-modal{z-index:1310}.uk-dropdown.dropdown-fs{z-index:9999}.uk-dropdown.uk-dropdown-scrollable{-webkit-overflow-scrolling:touch}[data-uk-dropdown*=top-] .uk-dropdown{-webkit-transform-origin:50% 100%!important;transform-origin:50% 100%!important}[data-uk-dropdown*=left-] .uk-dropdown{-webkit-transform-origin:100% 50%!important;transform-origin:100% 50%!important}[data-uk-dropdown*=right-] .uk-dropdown{-webkit-transform-origin:0 50%!important;transform-origin:0 50%!important}[data-uk-dropdown*=justify]{position:static!important}[data-uk-dropdown*=justify] [class*=uk-dropdown-width]{left:0!important;width:100%!important;min-width:inherit!important;margin-left:0!important}.uk-dropdown-active{display:block!important}.uk-dropdown-shown{-webkit-transform:scale(1,1);transform:scale(1,1);opacity:1}.uk-nav-dropdown>li>a:focus,.uk-nav-dropdown>li>a:hover{text-shadow:none;box-shadow:none;color:#212121;background:rgba(153,153,153,.2)}.uk-form input:not([type]),.uk-form input[type=color],.uk-form input[type=date],.uk-form input[type=datetime-local],.uk-form input[type=email],.uk-form input[type=month],.uk-form input[type=number],.uk-form input[type=password],.uk-form input[type=search],.uk-form input[type=tel],.uk-form input[type=text],.uk-form input[type=time],.uk-form input[type=url],.uk-form input[type=week],.uk-form select,.uk-form textarea{box-sizing:border-box;padding:8px;border:1px solid rgba(0,0,0,.12);-webkit-transition:border .2s ease-in;transition:border .2s ease-in;resize:none}.uk-form input:not([type]):focus,.uk-form input[type=color]:focus,.uk-form input[type=date]:focus,.uk-form input[type=datetime-local]:focus,.uk-form input[type=email]:focus,.uk-form input[type=month]:focus,.uk-form input[type=number]:focus,.uk-form input[type=password]:focus,.uk-form input[type=search]:focus,.uk-form input[type=tel]:focus,.uk-form input[type=text]:focus,.uk-form input[type=time]:focus,.uk-form input[type=url]:focus,.uk-form input[type=week]:focus,.uk-form select:focus,.uk-form textarea:focus{background:0 0;border-color:#2196f3}.uk-form textarea{-webkit-transition:border-color .2s ease-in,height 280ms ease-in;transition:border-color .2s ease-in,height 280ms ease-in}.uk-form-row{-webkit-transition:all .2s ease-out;transition:all .2s ease-out}.uk-form-row+.uk-form-row{margin-top:24px}.uk-form-stacked .uk-form-label{font-weight:500;font-size:13px;display:block;padding-bottom:8px}.uk-form-stacked .uk-form-label+p{margin-top:0}.uk-form-help-block{display:block;font-size:12px;color:#727272;padding:4px 0 0;font-style:italic}.uk-grid+.uk-grid,.uk-grid-margin,.uk-grid>*>.uk-panel+.uk-panel{margin-top:24px}.uk-grid.uk-grid-small+.uk-grid-small,.uk-grid.uk-grid-small>*>.uk-panel+.uk-panel,.uk-grid.uk-grid-small>.uk-grid-margin{margin-top:10px}[class*=uk-icon-]{color:#727272}.uk-input-group{position:relative;display:table;border-collapse:separate}.uk-input-group>input[type=text]{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.uk-input-group-addon,.uk-input-group>input[type=text]{display:table-cell}.uk-input-group-addon{width:1%;white-space:nowrap;line-height:1;text-align:center;padding:0 16px;font-size:16px;min-width:22px}.uk-input-group>.md-input-wrapper{display:inline-block}.uk-input-group.uk-input-group-danger .uk-input-group-addon i{color:#e53935!important}.uk-input-group.uk-input-group-danger+.parsley-errors-list{margin-left:58px}.uk-input-group.uk-input-group-success .uk-input-group-addon i{color:#7cb342!important}.uk-pagination{margin:0}.uk-pagination>li{outline:0!important}.uk-pagination>li>a,.uk-pagination>li>span{border:none;padding:4px 8px;min-width:32px;line-height:24px;height:32px;box-sizing:border-box;text-shadow:none;color:#212121;border-radius:4px}.uk-dotnav>*>*,.uk-progress{height:20px;overflow:hidden}.uk-pagination>li>a [class*=uk-icon-],.uk-pagination>li>span [class*=uk-icon-]{font-size:16px}.uk-pagination>li>a{background:0 0}.uk-pagination>li>a:hover{background:#e1efd2}.uk-pagination>li.uk-active>a,.uk-pagination>li.uk-active>span{background:#7cb342}.uk-pagination>li.uk-active>a,.uk-pagination>li.uk-active>a:hover,.uk-pagination>li.uk-active>span,.uk-pagination>li.uk-active>span:hover{color:#fff}.uk-pagination>li.uk-disabled>a,.uk-pagination>li.uk-disabled>span{border:none;text-shadow:none;background:0 0!important;color:#aaa;cursor:default}.uk-panel-box{border-radius:2px;background:#fff;border-color:rgba(0,0,0,.12)}.uk-panel-box .uk-panel-teaser{border-radius:2px 2px 0 0}.uk-table th{border-bottom:1px #444}.uk-table-nowrap td,.uk-table-nowrap th{white-space:nowrap}.uk-table-no-border td{border-bottom-color:transparent}.uk-sticky-placeholder .uk-active{z-index:1094}.uk-subnav-pill>*>*{color:#212121}.uk-subnav-pill>.uk-active>*{background:#7cb342}.uk-table thead th{border-bottom:2px solid rgba(0,0,0,.12)}.uk-table tfoot td,.uk-table tfoot th,.uk-table thead th{font-style:normal;font-weight:400;color:#727272;font-size:14px}.uk-table td{border-bottom-color:#e0e0e0}.uk-table tfoot td,.uk-table tfoot th{border-top:2px solid rgba(0,0,0,.12);border-bottom:none}.uk-table-hover tbody tr:hover,.uk-table-striped tbody tr:nth-of-type(odd){background:rgba(0,0,0,.085)}.uk-thumbnail{border-radius:0;border-color:rgba(0,0,0,.12)}.uk-thumbnail-caption{padding:4px 4px 0;line-height:20px;color:#727272;font-size:12px}.uk-text-small{font-size:12px}.uk-text-muted{color:#757575!important}.uk-text-primary{color:#2196f3!important}.uk-text-danger{color:#e53935!important}.uk-text-success{color:#7cb342!important}.uk-text-warning{color:#ffa000!important}.uk-accordion-title:after,.uk-close:after{font-family:"Material Icons";color:#727272}.uk-margin-bottom{margin-bottom:16px!important}.uk-margin-small-bottom{margin-bottom:8px!important}.uk-margin-medium-bottom{margin-bottom:32px!important}.uk-margin-large-bottom{margin-bottom:48px!important}.uk-margin-medium-top{margin-top:32px!important}.uk-margin-large-top{margin-top:48px!important}.uk-close{font-size:18px}.uk-close:after{opacity:1!important;content:'\e5cd'}.uk-accordion-title{margin-top:0;margin-bottom:15px;line-height:24px;cursor:pointer}.uk-accordion-content:after,.uk-accordion-content:before{content:"";display:table}.uk-accordion-content>:last-child{margin-bottom:0}.uk-accordion-title{background:rgba(153,153,153,.2);border-radius:0;border:none;margin:0 0 4px;font-size:15px;font-weight:400;padding:8px 24px 8px 16px;position:relative}.uk-accordion-title:after{content:'\e313';font-size:18px;position:absolute;top:8px;right:8px;display:block;-webkit-transition:-webkit-transform 280ms;transition:transform 280ms}.uk-accordion-title.uk-active:after{-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}.uk-accordion-title-primary{background:#2196f3;color:#fff}.uk-accordion-title-primary:after{color:#fff}.uk-accordion-title-danger{background:#e53935;color:#fff}.uk-accordion-title-danger:after{color:#fff}.uk-accordion-title-success{background:#7cb342;color:#fff}.uk-accordion-title-success:after{color:#fff}.uk-accordion-title-warning{background:#ffa000;color:#fff}.uk-accordion-title-warning:after{color:#fff}.uk-accordion-content{padding:16px}.uk-accordion-alt .uk-accordion-title{background:#fff;margin:0;padding:16px 24px 16px 48px;border-top:1px solid rgba(0,0,0,.12)}.uk-accordion-alt .uk-accordion-title:first-child{border-top:none}.uk-accordion-alt .uk-accordion-title:after{color:#2196f3;content:'\e145';right:auto;left:16px;top:16px}.uk-accordion-alt .uk-accordion-title.uk-active:after{-webkit-transform:rotate(-180deg);transform:rotate(-180deg);content:'\e15b'}.uk-accordion-alt .uk-accordion-content{padding:24px}.uk-dotnav{display:-ms-flexbox;display:-webkit-flex;display:-webkit-box;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-left:-15px;margin-top:-15px;padding:0;list-style:none}*+.uk-progress,.uk-dotnav>*{margin-top:15px}.uk-dotnav>*{-ms-flex:none;-webkit-flex:none;-webkit-box-flex:0;flex:none;padding-left:15px;float:left}.uk-dotnav:after,.uk-dotnav:before{content:"";display:block;overflow:hidden}.uk-dotnav>*>*{display:block;box-sizing:content-box;width:20px;border-radius:50%;background:rgba(50,50,50,.1);text-indent:100%;white-space:nowrap}.uk-file-upload,.uk-htmleditor .CodeMirror,.uk-htmleditor-code,.uk-htmleditor-preview,.uk-notify,.uk-progress,.uk-slidenav{box-sizing:border-box}.uk-dotnav>*>:focus,.uk-dotnav>*>:hover{background:rgba(50,50,50,.4);outline:0}.uk-dotnav>*>:active{background:rgba(50,50,50,.6)}.uk-dotnav>.uk-active>*{background:rgba(50,50,50,.4)}.uk-dotnav-contrast>*>*{background:rgba(255,255,255,.4)}.uk-dotnav-contrast>*>:focus,.uk-dotnav-contrast>*>:hover{background:rgba(255,255,255,.7)}.uk-dotnav-contrast>*>:active,.uk-dotnav-contrast>.uk-active>*{background:rgba(255,255,255,.9)}.uk-dotnav-vertical{-ms-flex-direction:column;-webkit-flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.uk-dotnav-vertical>*{float:none}.uk-progress{margin-bottom:15px;background:#f5f5f5;line-height:20px}.uk-progress-bar{width:0;height:100%;float:left;-webkit-transition:width .6s ease;transition:width .6s ease;font-size:12px;color:#fff;text-align:center;box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)}.uk-progress-mini{height:6px}.uk-progress-small{height:12px}.uk-progress-striped .uk-progress-bar{background-image:-webkit-linear-gradient(135deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:30px 30px}.uk-progress-striped.uk-active .uk-progress-bar{-webkit-animation:uk-progress-bar-stripes 2s linear infinite;animation:uk-progress-bar-stripes 2s linear infinite}@-webkit-keyframes uk-progress-bar-stripes{0%{background-position:0 0}100%{background-position:30px 0}}@keyframes uk-progress-bar-stripes{0%{background-position:0 0}100%{background-position:30px 0}}.uk-progress-mini,.uk-progress-small{border-radius:500px}.uk-progress{box-shadow:none;border-radius:2px}.uk-progress-bar{background:#009688}.uk-progress-success .uk-progress-bar{background-color:#7cb342}.uk-progress-danger .uk-progress-bar{background-color:#e53935}.uk-progress-warning .uk-progress-bar{background-color:#ffa000}.uk-htmleditor-navbar{border:1px solid rgba(0,0,0,.06);border-top-left-radius:4px;border-top-right-radius:4px}.uk-htmleditor-navbar-nav>li.uk-active>a,.uk-htmleditor-navbar-nav>li:hover>a,.uk-htmleditor-navbar-nav>li>a:active,.uk-htmleditor-navbar-nav>li>a:focus{color:#444;border-left-color:rgba(0,0,0,.1);border-right-color:rgba(0,0,0,.1)}.uk-htmleditor-navbar:after,.uk-htmleditor-navbar:before{content:"";display:table}.uk-htmleditor-navbar-nav{margin:0;padding:0;list-style:none;float:left}.uk-htmleditor-navbar-nav>li{float:left}.uk-htmleditor-navbar-nav>li>a{display:block;box-sizing:border-box;text-decoration:none;padding:0 15px;line-height:40px;color:#444;font-size:11px;cursor:pointer;margin-top:-1px;margin-left:-1px;text-shadow:0 1px 0 #fff}.uk-htmleditor-navbar-nav>li:hover>a,.uk-htmleditor-navbar-nav>li>a:focus{background-color:#fafafa;outline:0;position:relative;z-index:1;border-top-color:rgba(0,0,0,.1)}.uk-htmleditor-navbar-nav>li>a:active{background-color:#eee;border-top-color:rgba(0,0,0,.2)}.uk-htmleditor-navbar-nav>li.uk-active>a{background-color:#fafafa;border-top-color:rgba(0,0,0,.1)}.uk-htmleditor-navbar-flip{float:right}[data-mode=split] .uk-htmleditor-button-code,[data-mode=split] .uk-htmleditor-button-preview{display:none}.uk-htmleditor-content{background:#fff;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.uk-htmleditor-content:after,.uk-htmleditor-content:before{content:"";display:table}.uk-htmleditor-fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1154}.uk-htmleditor-fullscreen .uk-htmleditor-content{position:absolute;left:0;right:0;bottom:0}.uk-htmleditor-fullscreen .uk-icon-expand:before{content:"\f066"}.uk-htmleditor-preview{padding:20px;overflow-y:scroll;position:relative}[data-mode=tab][data-active-tab=code] .uk-htmleditor-preview,[data-mode=tab][data-active-tab=preview] .uk-htmleditor-code{display:none}.uk-form-file,.uk-form-select{display:inline-block;overflow:hidden;vertical-align:middle}[data-mode=split] .uk-htmleditor-code,[data-mode=split] .uk-htmleditor-preview{float:left;width:50%}[data-mode=split] .uk-htmleditor-code{border-right:1px solid #eee}.uk-htmleditor-iframe{position:absolute;top:0;left:0;width:100%;height:100%}.uk-htmleditor .CodeMirror{padding:10px}.uk-htmleditor-navbar-nav:first-child>li:first-child>a{border-top-left-radius:4px}.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav>li>a{margin-left:0;margin-right:-1px}.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav:first-child>li:first-child>a{border-top-left-radius:0}.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav:last-child>li:last-child>a{border-top-right-radius:4px}.uk-htmleditor-fullscreen .uk-htmleditor-navbar{border-top:none;border-left:none;border-right:none;border-radius:0}.uk-htmleditor-fullscreen .uk-htmleditor-content{border:none;border-radius:0;top:38px}.uk-htmleditor-fullscreen .uk-htmleditor-navbar-nav>li>a{border-radius:0!important}.uk-htmleditor-navbar{border-radius:0;background:#f9f9f9;border-width:1px 1px 0;border-style:solid;border-color:rgba(0,0,0,.12);overflow:hidden}.uk-htmleditor-navbar-nav>li>a{border:none;border-radius:0!important;height:38px}.uk-htmleditor-navbar-nav>li.uk-active>a,.uk-htmleditor-navbar-nav>li:hover>a,.uk-htmleditor-navbar-nav>li>a:focus{background:#ebebeb}.uk-htmleditor-content{border-radius:0;border:1px solid rgba(0,0,0,.12)}.uk-htmleditor-fullscreen .uk-htmleditor-navbar{border-bottom:1px solid rgba(0,0,0,.12)}.uk-form-file{position:relative}.uk-dragover{box-shadow:0 0 20px rgba(100,100,100,.3)}.uk-file-upload{width:100%;padding:32px 16px;background:#f5f5f5;text-align:center;-webkit-transition:all .2s ease-in;transition:all .2s ease-in}.uk-file-upload p{margin:0}.uk-file-upload.uk-dragover{box-shadow:0 0 6px rgba(0,0,0,.3)}div.uk-form-file{padding:3px 2px}.uk-form-file input[type=file]{position:absolute;top:0;z-index:1;width:100%;opacity:0;cursor:pointer;left:0;font-size:500px}.uk-form-file input[type=file]::-webkit-file-upload-button{cursor:pointer}.uk-form-select{position:relative}.uk-form-select select{position:absolute;top:0;z-index:1;width:100%;height:100%;opacity:0;cursor:pointer;left:0;-webkit-appearance:none}.uk-datepicker{z-index:1094;width:auto;padding:0}.uk-datepicker-nav{margin-bottom:15px;text-align:center;line-height:20px;background:#009688;padding:10px 0}.uk-datepicker-nav a,.uk-datepicker-nav a:hover{text-decoration:none;color:#fff}.uk-datepicker-nav .uk-form-select{font:400 16px/22px Roboto,sans-serif;color:#fff;text-transform:uppercase}.uk-datepicker-previous{float:left;margin-left:8px}.uk-datepicker-previous:after{content:"\f053"}.uk-datepicker-next{float:right;margin-right:8px}.uk-datepicker-next:after{content:"\f054"}.uk-datepicker-next:after,.uk-datepicker-previous:after{width:20px;font-family:FontAwesome}.uk-datepicker.dp-top{-webkit-transform-origin:50% 100%!important;transform-origin:50% 100%!important}.uk-datepicker-table{width:100%}.uk-datepicker-table td,.uk-datepicker-table th{padding:2px;font:400 13px/15px Roboto,sans-serif}.uk-datepicker-table th{color:#727272;font-size:12px;text-transform:uppercase}.uk-datepicker-table a{display:block;width:30px;line-height:30px;height:30px;text-align:center;text-decoration:none;border-radius:50%;color:#212121}.uk-datepicker-table a:hover{background-color:rgba(0,0,0,.085);color:#212121;outline:0}.uk-datepicker-table a.uk-active{background-color:#009688;color:#fff}a.uk-datepicker-table-muted{color:#999}.uk-autocomplete .uk-dropdown{display:block;max-height:0;padding:0;overflow-x:hidden;overflow-y:auto;border-radius:0;border:none;-webkit-transform:scale(.25,0);transform:scale(.25,0);opacity:0;-webkit-transition:all 280ms cubic-bezier(.4,0,.2,1);transition:all 280ms cubic-bezier(.4,0,.2,1);-webkit-animation:none!important;animation:none!important;-webkit-transform-origin:0 0;transform-origin:0 0}.uk-autocomplete.uk-open .uk-dropdown{-webkit-transform:scale(1);transform:scale(1);opacity:1;max-height:210px}.uk-form-password-toggle{position:absolute;right:8px;top:16px;color:#727272}.uk-form-password-toggle:hover{color:#727272}.uk-nestable{padding:0;list-style:none}.uk-nestable-list{margin:0;padding-left:40px;list-style:none}.uk-nestable-item{-ms-touch-action:none;touch-action:none}.uk-nestable-item+.uk-nestable-item,.uk-nestable-list:not(.uk-nestable-dragged)>.uk-nestable-item:first-child{margin-top:10px}.uk-nestable-dragged{position:absolute;z-index:1050;pointer-events:none;padding-left:0}.uk-nestable-placeholder{position:relative}.uk-nestable-placeholder>*{opacity:0}.uk-nestable-handle{-ms-touch-action:none;touch-action:none;margin-right:16px}.uk-nestable-handle:hover,.uk-nestable-moving,.uk-nestable-moving *{cursor:move}[data-nestable-action=toggle]{cursor:pointer;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.uk-nestable-toggle{visibility:hidden;font-size:18px;height:18px;width:18px;line-height:18px;overflow:hidden;vertical-align:middle;margin-right:8px;display:none}.uk-parent>:not(.uk-nestable-list) .uk-nestable-toggle{visibility:visible}.uk-collapsed .uk-nestable-list{display:none}.uk-nestable-panel{padding:8px 16px;background:#fff;border-radius:4px;border:none;text-shadow:none;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.uk-nestable-placeholder:after{content:'';position:absolute;top:0;bottom:0;left:0;right:0;border:none;background:rgba(0,0,0,.085);opacity:1}.uk-nestable-toggle:after{vertical-align:top;content:'\e316';font-family:"Material Icons"}.uk-parent>.uk-nestable-panel .uk-nestable-toggle{display:inline-block}.uk-collapsed .uk-nestable-toggle:after{content:"\e313"}.uk-notify{position:fixed;left:10px}.uk-notify-bottom-right,.uk-notify-top-right{left:auto}.uk-notify-bottom-center,.uk-notify-top-center{left:50%}@media (max-width:479px){.uk-notify{left:10px;right:10px;width:auto;margin:0}}.uk-notify-bottom-left,.uk-notify-top-left{left:24px}.uk-notify-bottom-right,.uk-notify-top-right{right:24px}.uk-notify-message{position:relative;margin-bottom:10px;color:#fff;cursor:pointer}.uk-notify-message>.uk-close{visibility:hidden;float:right}.uk-notify-message:hover>.uk-close{visibility:visible}.uk-notify-message-primary{background:#ebf7fd;color:#2d7091;border-color:rgba(45,112,145,.3)}.uk-notify-message-success{border-color:rgba(101,159,19,.3)}.uk-notify-message-warning{border-color:rgba(226,131,39,.3)}.uk-notify-message-danger{border-color:rgba(216,80,48,.3)}.uk-notify{z-index:1114;width:400px;top:56px}.uk-notify-bottom-center,.uk-notify-top-center{margin-left:-200px}.uk-notify-bottom-center,.uk-notify-bottom-left,.uk-notify-bottom-right{top:auto;bottom:8px}.uk-notify-message{background:#323232;border-radius:4px;padding:12px 16px;font-size:14px;line-height:18px;border:none}.uk-notify .uk-close{display:none}.uk-notify .notify-action{float:right;text-transform:uppercase;color:#8bc34a;margin-left:16px}.uk-notify .notify-action:hover{color:#689f38}.uk-notify .notify-content{overflow:hidden}.uk-notify-message-info{background:#1976d2;color:#fff}.uk-notify-message-success{background:#7cb342}.uk-notify-message-warning{background:#ffa000}.uk-notify-message-danger{background:#e53935}.uk-notify-message-danger,.uk-notify-message-danger .notify-action,.uk-notify-message-info,.uk-notify-message-info .notify-action,.uk-notify-message-success,.uk-notify-message-success .notify-action,.uk-notify-message-warning,.uk-notify-message-warning .notify-action{color:#fff}.uk-notify-message-danger .notify-action:hover,.uk-notify-message-info .notify-action:hover,.uk-notify-message-success .notify-action:hover,.uk-notify-message-warning .notify-action:hover{color:#fff;text-decoration:underline}@media only screen and (max-width:767px){.uk-notify-bottom-center,.uk-notify-bottom-left,.uk-notify-bottom-right,.uk-notify-top-center,.uk-notify-top-left,.uk-notify-top-right{width:100%;margin:0;left:0;right:0}.uk-notify-bottom-center>.uk-notify-message,.uk-notify-bottom-left>.uk-notify-message,.uk-notify-bottom-right>.uk-notify-message,.uk-notify-top-center>.uk-notify-message,.uk-notify-top-left>.uk-notify-message,.uk-notify-top-right>.uk-notify-message{border-radius:0;padding:16px 32px}.uk-notify-top-center,.uk-notify-top-left,.uk-notify-top-right{top:0;bottom:auto}.uk-notify-bottom-center,.uk-notify-bottom-left,.uk-notify-bottom-right{top:auto;bottom:-10px}}@media only screen and (min-width:960px){.sidebar_main_active .uk-notify-bottom-left,.sidebar_main_active .uk-notify-top-left,.sidebar_main_open .uk-notify-bottom-left,.sidebar_main_open .uk-notify-top-left{left:256px}.sidebar_main_active .uk-notify-bottom-center,.sidebar_main_active .uk-notify-top-center,.sidebar_main_open .uk-notify-bottom-center,.sidebar_main_open .uk-notify-top-center{margin-left:-80px}}.uk-slideshow{position:relative;z-index:0;width:100%;margin:0;padding:0;list-style:none;overflow:hidden;-ms-touch-action:pan-y;touch-action:pan-y}.uk-slideshow>li{position:absolute;top:0;left:0;width:100%;opacity:0}.uk-slideshow>.uk-active{z-index:10;opacity:1}.uk-slideshow>li>img{visibility:hidden}[data-uk-slideshow-slide]{cursor:pointer}.uk-slideshow-fullscreen,.uk-slideshow-fullscreen>li{height:100vh}.uk-slideshow-fade-in{-webkit-animation:uk-fade .5s linear;animation:uk-fade .5s linear}.uk-slideshow-fade-out{-webkit-animation:uk-fade .5s linear reverse;animation:uk-fade .5s linear reverse}.uk-slideshow-scroll-forward-in{-webkit-animation:uk-slide-right .5s ease-in-out;animation:uk-slide-right .5s ease-in-out}.uk-slideshow-scroll-forward-out{-webkit-animation:uk-slide-left .5s ease-in-out reverse;animation:uk-slide-left .5s ease-in-out reverse}.uk-slideshow-scroll-backward-in{-webkit-animation:uk-slide-left .5s ease-in-out;animation:uk-slide-left .5s ease-in-out}.uk-slideshow-scroll-backward-out{-webkit-animation:uk-slide-right .5s ease-in-out reverse;animation:uk-slide-right .5s ease-in-out reverse}.uk-slideshow-scale-out{-webkit-animation:uk-fade-scale-15 .5s ease-in-out reverse;animation:uk-fade-scale-15 .5s ease-in-out reverse}.uk-slideshow-swipe-forward-in{-webkit-animation:uk-slide-left-33 .5s ease-in-out;animation:uk-slide-left-33 .5s ease-in-out}.uk-slideshow-swipe-forward-out{-webkit-animation:uk-slide-left .5s ease-in-out reverse;animation:uk-slide-left .5s ease-in-out reverse}.uk-slideshow-swipe-backward-in{-webkit-animation:uk-slide-right-33 .5s ease-in-out;animation:uk-slide-right-33 .5s ease-in-out}.uk-slideshow-swipe-backward-out{-webkit-animation:uk-slide-right .5s ease-in-out reverse;animation:uk-slide-right .5s ease-in-out reverse}.uk-slideshow-swipe-backward-in:before,.uk-slideshow-swipe-forward-in:before{content:'';position:absolute;top:0;bottom:0;left:0;right:0;z-index:1;background:rgba(0,0,0,.6);-webkit-animation:uk-fade .5s ease-in-out reverse;animation:uk-fade .5s ease-in-out reverse}.uk-slidenav{display:inline-block;width:60px;height:60px;line-height:60px;color:rgba(50,50,50,.4);font-size:60px;text-align:center}.uk-tab>li>a,.uk-tooltip{font-size:13px;box-sizing:border-box}.uk-slidenav:focus,.uk-slidenav:hover{outline:0;text-decoration:none;color:rgba(50,50,50,.7);cursor:pointer}.uk-sortable .sortable-handler,.uk-sortable-handle:hover,.uk-sortable-moving,.uk-sortable-moving *,.uk-sortable.sortable-handler>*{cursor:move}.uk-slidenav:active{color:rgba(50,50,50,.9)}.uk-slidenav-previous:before{content:"\f104";font-family:FontAwesome}.uk-slidenav-next:before{content:"\f105";font-family:FontAwesome}.uk-slidenav-position{position:relative}.uk-slidenav-position .uk-slidenav{display:none;position:absolute;top:50%;z-index:1;margin-top:-30px}.uk-slidenav-position:hover .uk-slidenav{display:block}.uk-slidenav-position .uk-slidenav-previous{left:20px}.uk-slidenav-position .uk-slidenav-next{right:20px}.uk-slidenav-contrast{color:rgba(255,255,255,.5)}.uk-slidenav-contrast:focus,.uk-slidenav-contrast:hover{color:rgba(255,255,255,.7)}.uk-slidenav-contrast:active{color:rgba(255,255,255,.9)}.uk-tooltip{display:none;position:absolute;max-width:200px;border-radius:3px;background:#424242;color:#fff;padding:3px 16px;line-height:22px;text-shadow:none;min-width:80px;text-align:center;z-index:1114;opacity:0}.uk-tooltip:after{content:"";position:absolute;width:0;height:0;border:5px dashed #333}.uk-sortable,.uk-tab>li>a{position:relative}.uk-tooltip-top-left:after,.uk-tooltip-top-right:after,.uk-tooltip-top:after{bottom:-5px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent;border-top-color:#333}.uk-tooltip-bottom-left:after,.uk-tooltip-bottom-right:after,.uk-tooltip-bottom:after{top:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent;border-bottom-color:#333}.uk-tooltip-left:after,.uk-tooltip-right:after{top:50%;margin-top:-5px;border-top-color:transparent;border-bottom-color:transparent}.uk-tooltip-bottom:after,.uk-tooltip-top:after{left:50%;margin-left:-5px}.uk-tooltip-bottom-left:after,.uk-tooltip-top-left:after{left:10px}.uk-tooltip-bottom-right:after,.uk-tooltip-top-right:after{right:10px}.uk-tooltip-left:after{right:-5px;border-left-style:solid;border-right:none;border-left-color:#333}.uk-tooltip-right:after{left:-5px;border-right-style:solid;border-left:none;border-right-color:#333}.uk-tooltip .uk-tooltip-inner{display:inline-block;vertical-align:top;overflow:hidden;width:100%}.uk-tooltip:after{display:none!important}.uk-tooltip.long-text{text-align:left}.uk-tooltip.long-text .uk-tooltip-inner{white-space:normal;overflow:visible;line-height:18px;padding:4px 0}.uk-tooltip-small{-webkit-transform:scale(.85);transform:scale(.85)}.uk-tab{border-bottom-color:rgba(0,0,0,.12)}.uk-sticky-placeholder .uk-tab{background:#fff;padding-top:8px}.uk-tab>li{margin-bottom:0;margin-top:0;z-index:1}.uk-tab>li>a{text-transform:uppercase;color:#212121;border:none;border-bottom:2px solid transparent;border-radius:0!important;font-weight:500;min-width:100px;max-width:100%;text-align:center;-webkit-transition:all 220ms cubic-bezier(.4,0,.2,1);transition:all 220ms cubic-bezier(.4,0,.2,1);padding:8px!important;margin:0!important;top:1px}.uk-tab>li>a:focus,.uk-tab>li>a:hover{background:0 0;color:#212121;border-bottom-color:#b2dbfb}.uk-tab>li.uk-active>a{background:0 0!important;border-bottom-color:#2196f3}.uk-tab>li.uk-disabled>a,.uk-tab>li.uk-disabled>a:focus,.uk-tab>li.uk-disabled>a:hover{color:#aaa}.uk-tab-bottom li{margin-top:0}.uk-tab-bottom li>a{border-top:2px solid transparent;border-bottom:none;top:auto;bottom:1px}.uk-tab-left li>a,.uk-tab-right li>a{border-bottom:none;top:auto;bottom:auto}.uk-tab-bottom li>a:focus,.uk-tab-bottom li>a:hover{border-top-color:#b2dbfb}.uk-tab-bottom li.uk-active>a{border-top-color:#2196f3}.uk-tab-left{border-bottom:none}.uk-tab-left li>a{border-right:2px solid transparent;text-align:right}.uk-tab-left li>a:focus,.uk-tab-left li>a:hover{border-right-color:#b2dbfb}.uk-tab-left li.uk-active>a{border-right-color:#2196f3}.uk-tab-right{border-bottom:none}.uk-tab-right li>a{border-left:2px solid transparent;text-align:left}.uk-tab-right li>a:focus,.uk-tab-right li>a:hover{border-left-color:#b2dbfb}.uk-tab-right li.uk-active>a{border-left-color:#2196f3}.uk-tab-responsive li a{border:none!important}.uk-tab-responsive>a:before{content:'\e5d2';font-family:"Material Icons";color:#727272;margin-right:8px;vertical-align:-4px;font-size:18px}.uk-tab-icons>li>a{min-width:64px}.uk-tab-icons>li>a>.material-icons{font-size:24px}.uk-text-truncate{display:block}.uk-sortable>:last-child{margin-bottom:0}.uk-sortable-dragged{position:absolute;z-index:1050;pointer-events:none}.uk-sortable-placeholder{opacity:0}.uk-sortable-handle{-ms-touch-action:none;touch-action:none}.uk-sortable>*{-ms-touch-action:auto;touch-action:auto}.uk-switcher{overflow:hidden}@media (min-width:1480px){.uk-grid-width-xLarge-1-1>*,.uk-width-xLarge-1-1{width:100%}.uk-grid-width-xLarge-1-2>*,.uk-grid-width-xLarge-2-4>*,.uk-grid-width-xLarge-3-6>*,.uk-grid-width-xLarge-5-10>*,.uk-width-xLarge-1-2,.uk-width-xLarge-2-4,.uk-width-xLarge-3-6,.uk-width-xLarge-5-10{width:50%}.uk-grid-width-xLarge-1-3>*,.uk-grid-width-xLarge-2-6>*,.uk-width-xLarge-1-3,.uk-width-xLarge-2-6{width:33.333%}.uk-grid-width-xLarge-2-3>*,.uk-grid-width-xLarge-4-6>*,.uk-width-xLarge-2-3,.uk-width-xLarge-4-6{width:66.666%}.uk-grid-width-xLarge-1-4>*,.uk-width-xLarge-1-4{width:25%}.uk-grid-width-xLarge-3-4>*,.uk-width-xLarge-3-4{width:75%}.uk-grid-width-xLarge-1-5>*,.uk-grid-width-xLarge-2-10>*,.uk-width-xLarge-1-5,.uk-width-xLarge-2-10{width:20%}.uk-grid-width-xLarge-2-5>*,.uk-grid-width-xLarge-4-10>*,.uk-width-xLarge-2-5,.uk-width-xLarge-4-10{width:40%}.uk-grid-width-xLarge-3-5>*,.uk-grid-width-xLarge-6-10>*,.uk-width-xLarge-3-5,.uk-width-xLarge-6-10{width:60%}.uk-grid-width-xLarge-4-5>*,.uk-grid-width-xLarge-8-10>*,.uk-width-xLarge-4-5,.uk-width-xLarge-8-10{width:80%}.uk-grid-width-xLarge-1-6>*,.uk-width-xLarge-1-6{width:16.666%}.uk-grid-width-xLarge-5-6>*,.uk-width-xLarge-5-6{width:83.333%}.uk-grid-width-xLarge-1-10>*,.uk-width-xLarge-1-10{width:10%}.uk-grid-width-xLarge-3-10>*,.uk-width-xLarge-3-10{width:30%}.uk-grid-width-xLarge-7-10>*,.uk-width-xLarge-7-10{width:70%}.uk-grid-width-xLarge-9-10>*,.uk-width-xLarge-9-10{width:90%}}.lte-ie9 [class*=uk-animation-]{opacity:1!important}.snackbar-container{transition:all .5s ease;transition-property:top,right,bottom,left,opacity;font-family:Roboto,sans-serif;font-size:14px;min-height:14px;background-color:#070b0e;position:fixed;display:block;justify-content:space-between;align-items:center;color:#fff;line-height:22px;padding:18px 24px;bottom:0;top:0;opacity:0;z-index:9999}.snackbar-container .action{background:inherit;display:inline-block;border:none;font-size:inherit;text-transform:uppercase;color:#4caf50;margin:0 0 0 24px;padding:0;min-width:min-content;cursor:pointer}input.error,input.valid,select.error,select.valid{background-position:right 5px center;background-repeat:no-repeat}@media (min-width:640px){.snackbar-container{min-width:288px;max-width:568px;display:inline-flex;border-radius:2px;margin:24px;bottom:-100px}}@media (max-width:640px){.snackbar-container{left:0;right:0}}.snackbar-pos.bottom-center{top:auto!important;bottom:0;left:50%;transform:translate(-50%,-50%)}.snackbar-pos.bottom-left{top:auto!important;bottom:0;left:0}.snackbar-pos.bottom-right{top:auto!important;bottom:0;right:0}.snackbar-pos.top-left{bottom:auto!important;top:0;left:0}.snackbar-pos.top-center{bottom:auto!important;top:0;left:50%;transform:translate(-50%,-50%)}.snackbar-pos.top-right{bottom:auto!important;top:0;right:0}.c3 svg{font:10px sans-serif;-webkit-tap-highlight-color:transparent}.c3 line,.c3 path{fill:none;stroke:#000}.c3 text{-webkit-user-select:none;-moz-user-select:none;user-select:none}.c3-bars path,.c3-event-rect,.c3-legend-item-tile,.c3-xgrid-focus,.c3-ygrid{shape-rendering:crispEdges}.c3-chart-arc path{stroke:#fff}.c3-chart-arc text{fill:#fff;font-size:13px}.c3-grid line{stroke:#aaa}.c3-grid text{fill:#aaa}.c3-xgrid,.c3-ygrid{stroke-dasharray:3 3}.c3-text.c3-empty{fill:grey;font-size:2em}.c3-line{stroke-width:1px}.c3-circle._expanded_{stroke-width:1px;stroke:#fff}.c3-selected-circle{fill:#fff;stroke-width:2px}.c3-bar{stroke-width:0}.c3-bar._expanded_{fill-opacity:.75}.c3-target.c3-focused{opacity:1}.c3-target.c3-focused path.c3-line,.c3-target.c3-focused path.c3-step{stroke-width:2px}.c3-target.c3-defocused{opacity:.3!important}.c3-region{fill:#4682b4;fill-opacity:.1}.c3-brush .extent{fill-opacity:.1}.c3-legend-item{font-size:12px}.c3-legend-item-hidden{opacity:.15}.c3-legend-background{opacity:.75;fill:#fff;stroke:#d3d3d3;stroke-width:1}.c3-title{font:14px sans-serif}.c3-tooltip-container{z-index:10}.c3-tooltip{border-collapse:collapse;border-spacing:0;background-color:#fff;empty-cells:show;-webkit-box-shadow:7px 7px 12px -9px #777;-moz-box-shadow:7px 7px 12px -9px #777;box-shadow:7px 7px 12px -9px #777;opacity:.9}.c3-tooltip tr{border:1px solid #CCC}.c3-tooltip th{background-color:#aaa;font-size:14px;padding:2px 5px;text-align:left;color:#FFF}.c3-tooltip td{font-size:13px;padding:3px 6px;background-color:#fff;border-left:1px dotted #999}.c3-tooltip td>span{display:inline-block;width:10px;height:10px;margin-right:6px}.c3-tooltip td.value{text-align:right}.c3-area{stroke-width:0;opacity:.2}.c3-chart-arcs-title{dominant-baseline:middle;font-size:1.3em}.c3-chart-arcs .c3-chart-arcs-background{fill:#e0e0e0;stroke:none}.c3-chart-arcs .c3-chart-arcs-gauge-unit{fill:#000;font-size:16px}.c3-chart-arcs .c3-chart-arcs-gauge-max,.c3-chart-arcs .c3-chart-arcs-gauge-min{fill:#777}.c3-chart-arc .c3-gauge-value{fill:#000}input.error,select.error{border-color:#b94a48;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAARCAYAAAA/mJfHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAYSmlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjarVllVBV/t94TJ6hDdx26pLu7QboVOHRzODQYoIAICmKggoKCiogKBiklJqKIKKhYhIgoKgaKinI/gP7f9733frhr3d+HWc888+y9n73XrJk18wMQFqDR6XEoB0B8QgrD3daC6uvnTyW9ABSEgAJrQJUWmkw3d3V1gv95IQBfRwEBALivTKPT4+D/tjjDwpNDARBXAAgJSw6NB0AuAuBCoXRGCgBhCACk0lPoKQCELwDAw/D18wcgkgGAJ3IFiwAAT8gKVgMAHoanuyUA0QqAzEqjMSIBKK4AQE0LjUwBoNABiFwJYdEJADx5AEST0ChaGIDQVQBYEx+fGAYgNA8A8iH/kify33KG/M1Jo0X+xSu9AAAA2So6mR5Hy4T/7xUfl/qnhiQAsEYx7NwBgAcAORmb6OgOAKwASGdCyFoXAOACQG5GhwGs4rGoVDuvVf1caLKlPwDwAaAQRrNyBAARAJQvNdbLfBVr0BgAK3p0bXSKvecqDmEkuq/mR9PCk609/uCocHun1ZyFCXFr/+CqiGgbewDgAEAvZkV5+qz4RK+mRXuvBQAKADqUHOvhuKp/nhVlufaPhpHq7gUA0gDolwiGjfuKBhOIT/7TF6YSSrP2AAABAMwsJcrTbiUW8w1P9nX64y0s3Mp6xQMWFp7gteoZS6GnWLivxhbQ41xX9VhVeJyt+8qcsabkNI8/scMpDM/VmWOTMTQH1xX/2Fd6iqvnijccByewBCugQipQIQQSIQaiB+da54C6esUGaMCASAgH5VXmT4QP0IABCUADD8iCd5AA4ZD8N84CaMCAcEiDBPj1l105KkME0IABaRAOyRALr4AB8bgQboIb4k64CW6Gm+AauB6u/yeOyv6nKtGaaEW0I9oQFf76CIVEiINEYED0f+f+iSS8ItwjTBJGCOOEx+AIcRAOqcCAcEj425k3vAQGRP85D4rewvgP51RwhnFIXZ1KOIRAAsz+0eCyuAaujVvgxrgJrg9UnA8XAmVcC9fDzXFT3BDXxvX/zWHqXxf/zPI/64VDwr/1uMpTFCnaqy5C/vq3/Kv6zyyW/zKjMEgEx/9UYoXYBewGdhnrxzqxVqBiPVgbdhvrwlr/5U54CQyI/FvNHcIhAWIhDqL/aNQa1GbVlv5bddqqAwaEQzJASnhGCgCAZSI9kxEdGZVCNafT48Kp9gmhKmuoGmrq2gC+fv7UlcfHZ3dAAADhu/sPl6gOoB8KgGz9hwt+D9AaA0Dm+oeTbQVg1wDo3x+aykhb4XAAAAIwAzvwgCCIgRTIgzJogA4YghlYgwO4gCf4QSCEQhTEAwPSYQPkQgEUwy7YBxVQDbVwEs7AeWiFTrgM12EAhmAEnsA4TMNbmIev8BNBEBLChnAjgog4IoMoIRqIHmKCWCNOiDvihwQjkUgCkopsQLYixchupAI5itQj55B25DLSj9xDHiMTyCzyCfmBYigryoOKorKoKqqHmqOOqCe6Ho1Ek9AsNA8tQQ+gNehptAW9jA6gI+g4+hZdwABjwfgwCUwZ08MsMRfMH4vAGNgmrAgrx2qws1gHdgO7j41jc9h3nIhz41RcGTfE7XAvPBRPwjfhO/AK/CTegl/F7+MT+Dz+m8BGECEoEQwI9gRfQiQhnVBAKCecIDQTrhFGCNOEr0QikY8oR9Ql2hH9iDHEbOIO4mFiI7GXeI84RVwgkUiCJCWSMcmFRCOlkApIB0mnST2kYdI0aZHMQhYna5BtyP7kBPIWcjn5FLmbPEyeIf9k4mCSYTJgcmEKY8pkKmU6xtTBdJdpmuknMyezHLMxsydzDHMu8wHms8zXmJ8yf2ZhYZFk0WdxY4lmyWE5wNLEcpNlguU7KxerIqsl6zrWVNYS1jrWXtbHrJ/Z2Nhk2czY/NlS2ErY6tmusD1nW6RwU1Qo9pQwymZKJaWFMkx5z87ELsNuzh7InsVezn6B/S77HAcThyyHJQeNYxNHJUc7x0OOBU5uTnVOF854zh2cpzj7OV9zkbhkuay5wrjyuGq5rnBNcWPcUtyW3KHcW7mPcV/jnuYh8sjx2PPE8BTznOEZ5Jnn5eLV4vXmzeCt5O3iHefD+GT57Pni+Er5zvON8v3gF+U35w/n385/ln+Y/5uAsICZQLhAkUCjwIjAD0GqoLVgrGCZYKvgMyFcSFHITShdqEromtCcMI+woXCocJHweeExEVREUcRdJFukVuS2yIKomKitKF30oOgV0TkxPjEzsRixvWLdYrPi3OIm4tHie8V7xN9Qeanm1DjqAepV6ryEiISdRKrEUYlBiZ+ScpJeklskGyWfSTFL6UlFSO2V6pOalxaXdpbeIN0gPSbDJKMnEyWzX+aGzDdZOVkf2W2yrbKv5QTk7OWy5BrknsqzyZvKJ8nXyD9QICroKcQqHFYYUkQVtRWjFCsV7yqhSjpK0UqHle6tIazRX5OwpmbNQ2VWZXPlNOUG5QkVPhUnlS0qrSrvVaVV/VXLVG+o/lbTVotTO6b2RJ1L3UF9i3qH+icNRY1QjUqNB5psmjaamzXbND9qKWmFa1VpPdLm1nbW3qbdp/1LR1eHoXNWZ1ZXWjdY95DuQz0ePVe9HXo39Qn6Fvqb9Tv1vxvoGKQYnDf4YKhsGGt4yvC1kZxRuNExoyljSWOa8VHjcROqSbDJEZNxUwlTmmmN6aSZlFmY2QmzGXMF8xjz0+bvLdQsGBbNFt8sDSw3WvZaYVa2VkVWg9Zc1l7WFdbPbSRtIm0abOZttW2zbXvtCHaOdmV2D+1F7UPt6+3nHXQdNjpcdWR19HCscJx0UnRiOHU4o84Oznucn66VWZuwttUFXOxd9rg8c5VzTXK95EZ0c3WrdHvlru6+wf2GB7dHkMcpj6+eFp6lnk+85L1Svfq82b3Xedd7f/Ox8tntM+6r6rvRd8BPyC/ar82f5O/tf8J/IcA6YF/A9DrtdQXrRtfLrc9Y3x8oFBgX2BXEHkQLuhBMCPYJPhW8RHOh1dAWQuxDDoXMh1qG7g99G2YWtjdsNtw4fHf4TIRxxO6I15HGkXsiZ6NMo8qj5qItoyuiP8bYxVTHfIt1ia2LXY7ziWuMJ8cHx7cncCXEJlxNFEvMSLxHV6IX0MeTDJL2Jc0zHBknkpHk9cltKTwp9JTbqfKp+akTaSZplWmL6d7pFzI4MxIybmcqZm7PnMmyyTqejWeHZvdtkNiQu2Fio/nGo5uQTSGb+jZLbc7bPJ1jm3Mylzk3NvfOFrUtu7d82eqztSNPNC8nbyrfNr+hgFLAKHi4zXBbdSFeGF04uF1z+8Htv4vCim4VqxWXFy/tCN1xa6f6zgM7l0siSgZLdUqrdhF3JewaLTMtO7mbc3fW7qk9znta9lL3Fu39si9oX3+5Vnn1fub9qfvHDzgdaDsofXDXwaWKqIqRSovKxkMih7Yf+nY47PBwlVnV2WrR6uLqH0eijzw6anu0pUa2pryWWJtW++qY97Ebx/WO158QOlF84lddQt34SfeTV+t16+tPiZwqbUAbUhtmT687PXTG6kzbWeWzRxv5GouboCm16c254HOj5x3P913Qu3D2oszFQ83czUUtSEtmy3xrVOt4m1/bvXaH9r4Ow47mSyqX6jolOiu7eLtKu5m787qXe7J6FnrpvXOXIy9P9QX1Pbnie+XBVberg9ccr928bnP9yg3zGz03jW929hv0t9/Su9U6oDPQclv7dvMd7TvNgzqDLXd177YN6Q913DO61z1sOnz5vtX96w/sHwyMrB25N+o1+ujhuofjj8IevX4c9/jjWNrYzyc5TwlPi55xPCt/LvK85oXCi8ZxnfGuCauJ25Mek0+mQqfevkx+uTSd94rtVfmM+Ez9a43XnbM2s0NvAt5Mv6W//TlX8I7z3aH38u8vfjD7cHved376I+Pj8qcdnwU/133R+tK34Lrw/Gv815/fihYFF09+1/t+44fPj5mf6UukpQO/FH51/Hb8/XQ5fnmZTmPQAAAAAwA0IgLgUx0Amx8A9xAAM2Xl+2t1YQgACgAkEAMHKIYpRBFJQHpRQTQFHcPssSu4Lf6AEE/kJPaRNpBNmEhMz5jbWQ6xlrLVUZ5ycHA6cm3n7ufl5FvHf1oQF6IJd4lSxXaIL0qESY5Jr5Xpl1OVL1F4q2S/plr5q6ql2k71IU02LQvtZJ1Dur164/q/DPmNlIz1TaxN3c1CzZMt8iz3WzVY99jct521W3bgdVzjZOkcsDbaJc013223e7VHg2erV5/3gM+w72O/F/5TAa/XvVv/OvBp0GBwD60xpCp0Z1hWeESEW6RhlHQ0JfprzIvY63H18TsT6IkedN0koaQlxvPk3pTa1Py0iHT7DKVM5sw3WbezmzYc2Ji3KX1zUg4jN2tL0dajeV35L7YxFRptpxfVFo/uZC4xKo3fVVU2uPvX3jX7AsqL9rccGK9gqdQ+FHR4e9X56idH8RrlWu9jm4+fPHGvbrGeesqpYcPp82c+Nho0lZ77cCHg4t0Wl9YH7UYdKZfqO592s/Ro9npfTurLv1J2tfxa+fWyG4U3t/Zvu7VzYOft/Dspgz53Ve7+HOq9lz2sM/z1/sMH7SMVoxsfBj2yeCwzxjT27sm9p83PKp5vfBE8bjWhMMkx+X3q1cvR6f5Xl2cuvW6fbX9z/G3JXNq7wPfWH5TmOeYXPo596v589Ev+QtRXx2+qi9yL374//dH7s2Yp71f4b6tlyeVlACCCEJhBBlxDuBEnZBfyAtVES9DPWBA2invhzwh0IoXYSgonC5HHmA4xR7JYsBqzeVKi2HM4jnBe5prl4eW14svkbxT4IKQizBDpFGMR96aekliWMpfOlemRXZLXVYhRPKw0sOaTCq+qppqdeoBGpGaSVqb2Rp0s3Ri9AH0nA2NDNSNJY14TsskP03dmE+YjFrcsu60uWNfZHLAttEu3j3Lwc7Rz0nOWW8vrgrt8cZ10u+fe69HkWeVV6J3sE+hr76fpLxpADHi/bnR9V2BtUFFwIs0zRCuUNXQyrD28NCIi0iiKM+pV9KWYstjwOIN49viphNbEQrpfklLSEmMw+UgKI9UyjTdtJr09Y0dmYJZaNpr9cEPjxuJN8Zu9cqxyDbbobzXOs8v3LUjYtq3w+PYrRRPFv3eKlOiXeu9KLtu1+/Se/r2vytH9Igd0DrpVxFcWHzp9eKjq6xHJo641W2vbj308oVKXdPJi/bcG/dMbznQ3QpP5ua3nr10kNNu2FLbeaCd1WF/a0tnV9aVHttfjcnZf1ZVLV0euzV7/dhPv574lMaB62/iO06D/3aih9HsFw/vu1zxoHOkc7X84+mj68Zcn2FOeZzLP9V44jUdO1E7OvpSb9n9VMHPq9Y3ZiTeLc5R3Mu9NPwTM53wc+qz5Zc/C52/uixd/CPzMX1r8nb68DAA4cIIirIUc6EVIiAGSgrSiKOqMHkF/YoHYLdwIbyHoEfqIrsQpUjZZmHyDaSdzKIsRqzDrb7ZJygB7M8dxzgNcJdyFPPm8BXzF/HsEqgUbhNqEu0S6RLvFesS7qZckmiUbpA5LF8ukyq6TM5OXVACFJ4qtSsVrvJWpym9UmlVz1BzV+dQnNBo0U7VMtZm07+sc1o3S09Jb1O82yDd0NOIyGjOuMYkx1TBdMrtuXmax3lLR8pvVFetSmwBbOdtPdt32RQ7ejhKOb51anHPWOrnwuUy4Nrgluxt6oB63PHd7+XtTvWd8zvqm+hn6o/79AaXrPNbzrX8cWBm0Plg0+BntcMj6UJHQsbAD4d4R3BF3I4ujrKMh+lJMWqx67FxcXXxIgkjCw8Q99LVJ5KTLjKxkzeS5lOOpgWn8aXfTt2WYZixmNmVFZ1OzH2/Yu9Fzk+Cm6c1tOXtzM7dEbF2X55cfUBC+LbUwf3t50Ynilh3Xd46UTJd+KcN2c++R3Ku2z6Dccr/DAbeDfhUhlYmHNh/eU3W6euDIhxqZ2sxjQyfk6jadHD2l3JB3+slZ9cbCpufndS4UX3zRotm6re1ph+alos7JbqOeA71f+zyvNF+Tu37spnL/tYHYO9KDc0M3hs89qB9tenR57NkzeKE2UfeyYKboTet79o+FCwKLzUs+y8sAK//hAACIOgDHpwC8jwK4BQDUKQHIVAJQeABc2QA89QG1KAXk8UFAbM/+fX+wgRzYQARsg5PQD28RCqKOeCFZyGGkE3mCLKGiqCkaghagp9C76BdMGDPHorBdWDs2ibPg2ngwvgNvw18SuAimhATCUcIIkZloTswgnifOkeRJkaQ60ixZhZxK7mFiYfJnOs2MMPsyn2ehsCSwDLPqsR5hI7Mx2J5THCjt7PLsFRxsHLkc3zgTOV9zhXK94A7hnuGJ5/nKm8tH4TvMr8p/RSBAYEGwTEhd6L5wuoioyJDoNjELcRC/TM2XcJYUlHwtdUm6TCZG1kZORp5VfkFhUnFY6eqaDuULKk2qjWrn1ds0ejUHtJ5rf9TF9Xj1pQyUDdWN1IwVTaimXGao2QfzJxY9ljVWhdaJNr62Fnaq9mIO7I6Y46LTvPObtdMuk64Tbi/d33p89vzlzeTD7yvnp+/vHBC6Lnv9vsCmoMHgdyGUUM0wv/DNEbWR16Kmon/FcsVJxCsmqCQq0xWSJBl8yUzJP1Jm04TSnTPyMnuyfm+w3rhn09sc59xLW7Xy2gvst01t31YsseNsiVnpeFnZHt99xvvtD6ZXXqsSPkKpQWu/H/9U975+rmHuzIfGhXO/LpJbhNtUO6w6/bqje9P6Nl3Nub7xZtqtuNvBg8VDbcNvRiQern9c/eTVc/Xx3MmRaaWZwtmZOdv3pz5yfM5eeLcY8WPmF315GQDYQQXcIBUqoAdeIiyIBhKA5CH1yADyAeVBDdBgtBBtQh9jGKaM+WH52DnsBc6GG+GxeCV+B/9NUCeEEQ4RRojsRCfiduJNEjPJmbSbNEaWITPIfUx8THFM15mlmLcwT7M4sHSwKrFWs/Gy7aAQKVvYgT2XA+Mo5KRw7ueS5GrkNuMe4YnnJfLW8JnzTfIXCCgLjArmCqkJjQvvEbETxUX7xLaK21BZqaMSNZLJUjbSYtKLMqOyrXJH5PcrlCmWKJWs2a1coXJCtVntpvpzjW9avNoGOqG6JXpd+h8MZYyCjCtNnpiJmYdZNFr+tLa2KbYdsCc46DqGOBU4n1h72WXMdd4d9+DzVPQy8/bzSfYt9TvrPxjwcT1foHFQRHAZrTvkfZhUuG9EaeT1qF8xWrHRcVXx9xJRukZSMKMk+VLK6zT2dN2M4MzirLbsmY38m+w3b8w5n/tmq1Te+vyKgkeF/Nv9iqqKX+5ULskovV4msDtxz+19auWVBygHt1eyHtpXJVd942h0Leux8yf8T+L1TQ1BZzjOXmnKOK964XVzXWt0u3LHp86O7i29Tn38V6auNd3Y0O8wIHh7aNDr7tS9rPtiDwZHix95jMk+RZ5Nvrg+0TBVOs2Y8ZgVflM9J/fu3AeT+cFPQZ8/LOR8Y188+EPsZ/Uvod+ly8sAwA/mQIdquAvLiAYSgRxEriGfUUnUHc1DW9E5TALzxXZh/TiGm+BZeCu+QNAmpBG6iASiC7GS+IZkSNpFek22Ih9jIjPRmZ4yOzH3suiydLBasN5m82N7Q9nEzsvexOHC8ZGznMuEa5b7MI8HLxvvLb7t/E4CXAJjgseFGMLmItwib0Wvix0TL6DGSnhKmktpSMvJiMsKywnJUxWUFPWVHNfQlDeoVKh2qb3UoGgaaTG0z+p80NPWzzUYNpI3zjN5ZeZk3mqpZHXMRsK21l7BodnJyvmRC92N1b3JM8CbyafLLy1Aa91iYG/wzpDAMJ0I1sjH0RWx9nGzCZmJS0kpjOkU19QL6ZwZjMwH2QYbjm5i2ZyRM7PFd+vtfIuCjkKt7S3Fxjv6S/xK35Zt2sO5t6ZcdX/7QZOKnkNGh1uqCUecju6reXFM8Xj6iWsneesjTnWcppwJO9vZxHuOfn7gonxzUcu7Nrf21ktinQVd73t8ei/3KV3Zd3X5esyNB/1mtxpu891JHrw1JHwvavj0/TcjUqM+D7c8Ovn41tj0k6VnHM/FXyiNa08YTJpMmb00mzZ5ZTCj+1p9VvGN5FvK29m59nfp77Xfz304Pu/3kflj56eIzxyf276sW4CFmq8WXye/bV4UWWz/7vV9/seOn3I/+5YClxZ/7fmt+rt/OWx5GSA5QlNjZSeK1QKA8Hx5+bMsAGk3wK+y5eWfNcvLv2oBsKcAvXErezsAAEQOgEO1/9sey38BOi/O6KPLSP4AADwwaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzAxNCA3OS4xNTY3OTcsIDIwMTQvMDgvMjAtMDk6NTM6MDIgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICAgICAgICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChNYWNpbnRvc2gpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE1LTA1LTE1VDEwOjM4OjU1KzAyOjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNS0wNS0xNVQxMDozODo1NSswMjowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTUtMDUtMTVUMTA6Mzg6NTUrMDI6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjU4ZmM5Yzg4LWFiYWUtNGEzMC1iNGUxLTUyMTQyZWYzMzM4NDwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjM4YmMxOTAwLTNiNmMtMTE3OC05ZDQ5LWY0MzVhZTM4NTFiMTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmQ1ZjJhY2QyLTQ2ZDUtNGVlZS05NDllLThkMDI0MTljZjA3ODwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpkNWYyYWNkMi00NmQ1LTRlZWUtOTQ5ZS04ZDAyNDE5Y2YwNzg8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTUtMDUtMTVUMTA6Mzg6NTUrMDI6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChNYWNpbnRvc2gpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo1OGZjOWM4OC1hYmFlLTRhMzAtYjRlMS01MjE0MmVmMzMzODQ8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTUtMDUtMTVUMTA6Mzg6NTUrMDI6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChNYWNpbnRvc2gpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6U2VxPgogICAgICAgICA8L3htcE1NOkhpc3Rvcnk+CiAgICAgICAgIDxwaG90b3Nob3A6VGV4dExheWVycz4KICAgICAgICAgICAgPHJkZjpCYWc+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8cGhvdG9zaG9wOkxheWVyTmFtZT7DlzwvcGhvdG9zaG9wOkxheWVyTmFtZT4KICAgICAgICAgICAgICAgICAgPHBob3Rvc2hvcDpMYXllclRleHQ+w5c8L3Bob3Rvc2hvcDpMYXllclRleHQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHBob3Rvc2hvcDpMYXllck5hbWU+YTwvcGhvdG9zaG9wOkxheWVyTmFtZT4KICAgICAgICAgICAgICAgICAgPHBob3Rvc2hvcDpMYXllclRleHQ+YTwvcGhvdG9zaG9wOkxheWVyVGV4dD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOkJhZz4KICAgICAgICAgPC9waG90b3Nob3A6VGV4dExheWVycz4KICAgICAgICAgPHBob3Rvc2hvcDpDb2xvck1vZGU+MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHBob3Rvc2hvcDpJQ0NQcm9maWxlPkRpc3BsYXk8L3Bob3Rvc2hvcDpJQ0NQcm9maWxlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MTk8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MTc8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/Pmkb7KYAAAAgY0hSTQAAbZgAAHOOAAD6zAAAhPoAAHmBAAD9EwAAMG0AABIpDR4mTgAAAOZJREFUeNrMlL0NwyAQhZ+jLJAVkE4M4BVMR50RvIIzAivYI6S+zh4hHgAhZYWM4DTnCCFsoshFnkQBB9/9impZFhylEw5UFsaaatbUbj1iTR1ruhRhrKkGMALoWVOXsY8AHIAHa1KlyO4AVq+ONbkE1MhWAejjh+cMbBDPqzqJQAGoM3c/qnLdlPRcod7G+jAVYQJs0zT2QKXRmADMufMcaC9NJR1VW46sD6YI2wC9og7HkV+tD6/SaKQgIytWk9Y0B5tTkPVhljqZnbubNevFs7E+PBNbI9HfrA/DV6Pxn7/Gr3oPAAwLXEdIhTGuAAAAAElFTkSuQmCC);-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}input.valid,select.valid{border-color:#468847;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAARCAYAAAA/mJfHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAYSmlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjarVllVBV/t94TJ6hDdx26pLu7QboVOHRzODQYoIAICmKggoKCiogKBiklJqKIKKhYhIgoKgaKinI/gP7f9733frhr3d+HWc888+y9n73XrJk18wMQFqDR6XEoB0B8QgrD3daC6uvnTyW9ABSEgAJrQJUWmkw3d3V1gv95IQBfRwEBALivTKPT4+D/tjjDwpNDARBXAAgJSw6NB0AuAuBCoXRGCgBhCACk0lPoKQCELwDAw/D18wcgkgGAJ3IFiwAAT8gKVgMAHoanuyUA0QqAzEqjMSIBKK4AQE0LjUwBoNABiFwJYdEJADx5AEST0ChaGIDQVQBYEx+fGAYgNA8A8iH/kify33KG/M1Jo0X+xSu9AAAA2So6mR5Hy4T/7xUfl/qnhiQAsEYx7NwBgAcAORmb6OgOAKwASGdCyFoXAOACQG5GhwGs4rGoVDuvVf1caLKlPwDwAaAQRrNyBAARAJQvNdbLfBVr0BgAK3p0bXSKvecqDmEkuq/mR9PCk609/uCocHun1ZyFCXFr/+CqiGgbewDgAEAvZkV5+qz4RK+mRXuvBQAKADqUHOvhuKp/nhVlufaPhpHq7gUA0gDolwiGjfuKBhOIT/7TF6YSSrP2AAABAMwsJcrTbiUW8w1P9nX64y0s3Mp6xQMWFp7gteoZS6GnWLivxhbQ41xX9VhVeJyt+8qcsabkNI8/scMpDM/VmWOTMTQH1xX/2Fd6iqvnijccByewBCugQipQIQQSIQaiB+da54C6esUGaMCASAgH5VXmT4QP0IABCUADD8iCd5AA4ZD8N84CaMCAcEiDBPj1l105KkME0IABaRAOyRALr4AB8bgQboIb4k64CW6Gm+AauB6u/yeOyv6nKtGaaEW0I9oQFf76CIVEiINEYED0f+f+iSS8ItwjTBJGCOOEx+AIcRAOqcCAcEj425k3vAQGRP85D4rewvgP51RwhnFIXZ1KOIRAAsz+0eCyuAaujVvgxrgJrg9UnA8XAmVcC9fDzXFT3BDXxvX/zWHqXxf/zPI/64VDwr/1uMpTFCnaqy5C/vq3/Kv6zyyW/zKjMEgEx/9UYoXYBewGdhnrxzqxVqBiPVgbdhvrwlr/5U54CQyI/FvNHcIhAWIhDqL/aNQa1GbVlv5bddqqAwaEQzJASnhGCgCAZSI9kxEdGZVCNafT48Kp9gmhKmuoGmrq2gC+fv7UlcfHZ3dAAADhu/sPl6gOoB8KgGz9hwt+D9AaA0Dm+oeTbQVg1wDo3x+aykhb4XAAAAIwAzvwgCCIgRTIgzJogA4YghlYgwO4gCf4QSCEQhTEAwPSYQPkQgEUwy7YBxVQDbVwEs7AeWiFTrgM12EAhmAEnsA4TMNbmIev8BNBEBLChnAjgog4IoMoIRqIHmKCWCNOiDvihwQjkUgCkopsQLYixchupAI5itQj55B25DLSj9xDHiMTyCzyCfmBYigryoOKorKoKqqHmqOOqCe6Ho1Ek9AsNA8tQQ+gNehptAW9jA6gI+g4+hZdwABjwfgwCUwZ08MsMRfMH4vAGNgmrAgrx2qws1gHdgO7j41jc9h3nIhz41RcGTfE7XAvPBRPwjfhO/AK/CTegl/F7+MT+Dz+m8BGECEoEQwI9gRfQiQhnVBAKCecIDQTrhFGCNOEr0QikY8oR9Ql2hH9iDHEbOIO4mFiI7GXeI84RVwgkUiCJCWSMcmFRCOlkApIB0mnST2kYdI0aZHMQhYna5BtyP7kBPIWcjn5FLmbPEyeIf9k4mCSYTJgcmEKY8pkKmU6xtTBdJdpmuknMyezHLMxsydzDHMu8wHms8zXmJ8yf2ZhYZFk0WdxY4lmyWE5wNLEcpNlguU7KxerIqsl6zrWVNYS1jrWXtbHrJ/Z2Nhk2czY/NlS2ErY6tmusD1nW6RwU1Qo9pQwymZKJaWFMkx5z87ELsNuzh7InsVezn6B/S77HAcThyyHJQeNYxNHJUc7x0OOBU5uTnVOF854zh2cpzj7OV9zkbhkuay5wrjyuGq5rnBNcWPcUtyW3KHcW7mPcV/jnuYh8sjx2PPE8BTznOEZ5Jnn5eLV4vXmzeCt5O3iHefD+GT57Pni+Er5zvON8v3gF+U35w/n385/ln+Y/5uAsICZQLhAkUCjwIjAD0GqoLVgrGCZYKvgMyFcSFHITShdqEromtCcMI+woXCocJHweeExEVREUcRdJFukVuS2yIKomKitKF30oOgV0TkxPjEzsRixvWLdYrPi3OIm4tHie8V7xN9Qeanm1DjqAepV6ryEiISdRKrEUYlBiZ+ScpJeklskGyWfSTFL6UlFSO2V6pOalxaXdpbeIN0gPSbDJKMnEyWzX+aGzDdZOVkf2W2yrbKv5QTk7OWy5BrknsqzyZvKJ8nXyD9QICroKcQqHFYYUkQVtRWjFCsV7yqhSjpK0UqHle6tIazRX5OwpmbNQ2VWZXPlNOUG5QkVPhUnlS0qrSrvVaVV/VXLVG+o/lbTVotTO6b2RJ1L3UF9i3qH+icNRY1QjUqNB5psmjaamzXbND9qKWmFa1VpPdLm1nbW3qbdp/1LR1eHoXNWZ1ZXWjdY95DuQz0ePVe9HXo39Qn6Fvqb9Tv1vxvoGKQYnDf4YKhsGGt4yvC1kZxRuNExoyljSWOa8VHjcROqSbDJEZNxUwlTmmmN6aSZlFmY2QmzGXMF8xjz0+bvLdQsGBbNFt8sDSw3WvZaYVa2VkVWg9Zc1l7WFdbPbSRtIm0abOZttW2zbXvtCHaOdmV2D+1F7UPt6+3nHXQdNjpcdWR19HCscJx0UnRiOHU4o84Oznucn66VWZuwttUFXOxd9rg8c5VzTXK95EZ0c3WrdHvlru6+wf2GB7dHkMcpj6+eFp6lnk+85L1Svfq82b3Xedd7f/Ox8tntM+6r6rvRd8BPyC/ar82f5O/tf8J/IcA6YF/A9DrtdQXrRtfLrc9Y3x8oFBgX2BXEHkQLuhBMCPYJPhW8RHOh1dAWQuxDDoXMh1qG7g99G2YWtjdsNtw4fHf4TIRxxO6I15HGkXsiZ6NMo8qj5qItoyuiP8bYxVTHfIt1ia2LXY7ziWuMJ8cHx7cncCXEJlxNFEvMSLxHV6IX0MeTDJL2Jc0zHBknkpHk9cltKTwp9JTbqfKp+akTaSZplWmL6d7pFzI4MxIybmcqZm7PnMmyyTqejWeHZvdtkNiQu2Fio/nGo5uQTSGb+jZLbc7bPJ1jm3Mylzk3NvfOFrUtu7d82eqztSNPNC8nbyrfNr+hgFLAKHi4zXBbdSFeGF04uF1z+8Htv4vCim4VqxWXFy/tCN1xa6f6zgM7l0siSgZLdUqrdhF3JewaLTMtO7mbc3fW7qk9znta9lL3Fu39si9oX3+5Vnn1fub9qfvHDzgdaDsofXDXwaWKqIqRSovKxkMih7Yf+nY47PBwlVnV2WrR6uLqH0eijzw6anu0pUa2pryWWJtW++qY97Ebx/WO158QOlF84lddQt34SfeTV+t16+tPiZwqbUAbUhtmT687PXTG6kzbWeWzRxv5GouboCm16c254HOj5x3P913Qu3D2oszFQ83czUUtSEtmy3xrVOt4m1/bvXaH9r4Ow47mSyqX6jolOiu7eLtKu5m787qXe7J6FnrpvXOXIy9P9QX1Pbnie+XBVberg9ccr928bnP9yg3zGz03jW929hv0t9/Su9U6oDPQclv7dvMd7TvNgzqDLXd177YN6Q913DO61z1sOnz5vtX96w/sHwyMrB25N+o1+ujhuofjj8IevX4c9/jjWNrYzyc5TwlPi55xPCt/LvK85oXCi8ZxnfGuCauJ25Mek0+mQqfevkx+uTSd94rtVfmM+Ez9a43XnbM2s0NvAt5Mv6W//TlX8I7z3aH38u8vfjD7cHved376I+Pj8qcdnwU/133R+tK34Lrw/Gv815/fihYFF09+1/t+44fPj5mf6UukpQO/FH51/Hb8/XQ5fnmZTmPQAAAAAwA0IgLgUx0Amx8A9xAAM2Xl+2t1YQgACgAkEAMHKIYpRBFJQHpRQTQFHcPssSu4Lf6AEE/kJPaRNpBNmEhMz5jbWQ6xlrLVUZ5ycHA6cm3n7ufl5FvHf1oQF6IJd4lSxXaIL0qESY5Jr5Xpl1OVL1F4q2S/plr5q6ql2k71IU02LQvtZJ1Dur164/q/DPmNlIz1TaxN3c1CzZMt8iz3WzVY99jct521W3bgdVzjZOkcsDbaJc013223e7VHg2erV5/3gM+w72O/F/5TAa/XvVv/OvBp0GBwD60xpCp0Z1hWeESEW6RhlHQ0JfprzIvY63H18TsT6IkedN0koaQlxvPk3pTa1Py0iHT7DKVM5sw3WbezmzYc2Ji3KX1zUg4jN2tL0dajeV35L7YxFRptpxfVFo/uZC4xKo3fVVU2uPvX3jX7AsqL9rccGK9gqdQ+FHR4e9X56idH8RrlWu9jm4+fPHGvbrGeesqpYcPp82c+Nho0lZ77cCHg4t0Wl9YH7UYdKZfqO592s/Ro9npfTurLv1J2tfxa+fWyG4U3t/Zvu7VzYOft/Dspgz53Ve7+HOq9lz2sM/z1/sMH7SMVoxsfBj2yeCwzxjT27sm9p83PKp5vfBE8bjWhMMkx+X3q1cvR6f5Xl2cuvW6fbX9z/G3JXNq7wPfWH5TmOeYXPo596v589Ev+QtRXx2+qi9yL374//dH7s2Yp71f4b6tlyeVlACCCEJhBBlxDuBEnZBfyAtVES9DPWBA2invhzwh0IoXYSgonC5HHmA4xR7JYsBqzeVKi2HM4jnBe5prl4eW14svkbxT4IKQizBDpFGMR96aekliWMpfOlemRXZLXVYhRPKw0sOaTCq+qppqdeoBGpGaSVqb2Rp0s3Ri9AH0nA2NDNSNJY14TsskP03dmE+YjFrcsu60uWNfZHLAttEu3j3Lwc7Rz0nOWW8vrgrt8cZ10u+fe69HkWeVV6J3sE+hr76fpLxpADHi/bnR9V2BtUFFwIs0zRCuUNXQyrD28NCIi0iiKM+pV9KWYstjwOIN49viphNbEQrpfklLSEmMw+UgKI9UyjTdtJr09Y0dmYJZaNpr9cEPjxuJN8Zu9cqxyDbbobzXOs8v3LUjYtq3w+PYrRRPFv3eKlOiXeu9KLtu1+/Se/r2vytH9Igd0DrpVxFcWHzp9eKjq6xHJo641W2vbj308oVKXdPJi/bcG/dMbznQ3QpP5ua3nr10kNNu2FLbeaCd1WF/a0tnV9aVHttfjcnZf1ZVLV0euzV7/dhPv574lMaB62/iO06D/3aih9HsFw/vu1zxoHOkc7X84+mj68Zcn2FOeZzLP9V44jUdO1E7OvpSb9n9VMHPq9Y3ZiTeLc5R3Mu9NPwTM53wc+qz5Zc/C52/uixd/CPzMX1r8nb68DAA4cIIirIUc6EVIiAGSgrSiKOqMHkF/YoHYLdwIbyHoEfqIrsQpUjZZmHyDaSdzKIsRqzDrb7ZJygB7M8dxzgNcJdyFPPm8BXzF/HsEqgUbhNqEu0S6RLvFesS7qZckmiUbpA5LF8ukyq6TM5OXVACFJ4qtSsVrvJWpym9UmlVz1BzV+dQnNBo0U7VMtZm07+sc1o3S09Jb1O82yDd0NOIyGjOuMYkx1TBdMrtuXmax3lLR8pvVFetSmwBbOdtPdt32RQ7ejhKOb51anHPWOrnwuUy4Nrgluxt6oB63PHd7+XtTvWd8zvqm+hn6o/79AaXrPNbzrX8cWBm0Plg0+BntcMj6UJHQsbAD4d4R3BF3I4ujrKMh+lJMWqx67FxcXXxIgkjCw8Q99LVJ5KTLjKxkzeS5lOOpgWn8aXfTt2WYZixmNmVFZ1OzH2/Yu9Fzk+Cm6c1tOXtzM7dEbF2X55cfUBC+LbUwf3t50Ynilh3Xd46UTJd+KcN2c++R3Ku2z6Dccr/DAbeDfhUhlYmHNh/eU3W6euDIhxqZ2sxjQyfk6jadHD2l3JB3+slZ9cbCpufndS4UX3zRotm6re1ph+alos7JbqOeA71f+zyvNF+Tu37spnL/tYHYO9KDc0M3hs89qB9tenR57NkzeKE2UfeyYKboTet79o+FCwKLzUs+y8sAK//hAACIOgDHpwC8jwK4BQDUKQHIVAJQeABc2QA89QG1KAXk8UFAbM/+fX+wgRzYQARsg5PQD28RCqKOeCFZyGGkE3mCLKGiqCkaghagp9C76BdMGDPHorBdWDs2ibPg2ngwvgNvw18SuAimhATCUcIIkZloTswgnifOkeRJkaQ60ixZhZxK7mFiYfJnOs2MMPsyn2ehsCSwDLPqsR5hI7Mx2J5THCjt7PLsFRxsHLkc3zgTOV9zhXK94A7hnuGJ5/nKm8tH4TvMr8p/RSBAYEGwTEhd6L5wuoioyJDoNjELcRC/TM2XcJYUlHwtdUm6TCZG1kZORp5VfkFhUnFY6eqaDuULKk2qjWrn1ds0ejUHtJ5rf9TF9Xj1pQyUDdWN1IwVTaimXGao2QfzJxY9ljVWhdaJNr62Fnaq9mIO7I6Y46LTvPObtdMuk64Tbi/d33p89vzlzeTD7yvnp+/vHBC6Lnv9vsCmoMHgdyGUUM0wv/DNEbWR16Kmon/FcsVJxCsmqCQq0xWSJBl8yUzJP1Jm04TSnTPyMnuyfm+w3rhn09sc59xLW7Xy2gvst01t31YsseNsiVnpeFnZHt99xvvtD6ZXXqsSPkKpQWu/H/9U975+rmHuzIfGhXO/LpJbhNtUO6w6/bqje9P6Nl3Nub7xZtqtuNvBg8VDbcNvRiQern9c/eTVc/Xx3MmRaaWZwtmZOdv3pz5yfM5eeLcY8WPmF315GQDYQQXcIBUqoAdeIiyIBhKA5CH1yADyAeVBDdBgtBBtQh9jGKaM+WH52DnsBc6GG+GxeCV+B/9NUCeEEQ4RRojsRCfiduJNEjPJmbSbNEaWITPIfUx8THFM15mlmLcwT7M4sHSwKrFWs/Gy7aAQKVvYgT2XA+Mo5KRw7ueS5GrkNuMe4YnnJfLW8JnzTfIXCCgLjArmCqkJjQvvEbETxUX7xLaK21BZqaMSNZLJUjbSYtKLMqOyrXJH5PcrlCmWKJWs2a1coXJCtVntpvpzjW9avNoGOqG6JXpd+h8MZYyCjCtNnpiJmYdZNFr+tLa2KbYdsCc46DqGOBU4n1h72WXMdd4d9+DzVPQy8/bzSfYt9TvrPxjwcT1foHFQRHAZrTvkfZhUuG9EaeT1qF8xWrHRcVXx9xJRukZSMKMk+VLK6zT2dN2M4MzirLbsmY38m+w3b8w5n/tmq1Te+vyKgkeF/Nv9iqqKX+5ULskovV4msDtxz+19auWVBygHt1eyHtpXJVd942h0Leux8yf8T+L1TQ1BZzjOXmnKOK964XVzXWt0u3LHp86O7i29Tn38V6auNd3Y0O8wIHh7aNDr7tS9rPtiDwZHix95jMk+RZ5Nvrg+0TBVOs2Y8ZgVflM9J/fu3AeT+cFPQZ8/LOR8Y188+EPsZ/Uvod+ly8sAwA/mQIdquAvLiAYSgRxEriGfUUnUHc1DW9E5TALzxXZh/TiGm+BZeCu+QNAmpBG6iASiC7GS+IZkSNpFek22Ih9jIjPRmZ4yOzH3suiydLBasN5m82N7Q9nEzsvexOHC8ZGznMuEa5b7MI8HLxvvLb7t/E4CXAJjgseFGMLmItwib0Wvix0TL6DGSnhKmktpSMvJiMsKywnJUxWUFPWVHNfQlDeoVKh2qb3UoGgaaTG0z+p80NPWzzUYNpI3zjN5ZeZk3mqpZHXMRsK21l7BodnJyvmRC92N1b3JM8CbyafLLy1Aa91iYG/wzpDAMJ0I1sjH0RWx9nGzCZmJS0kpjOkU19QL6ZwZjMwH2QYbjm5i2ZyRM7PFd+vtfIuCjkKt7S3Fxjv6S/xK35Zt2sO5t6ZcdX/7QZOKnkNGh1uqCUecju6reXFM8Xj6iWsneesjTnWcppwJO9vZxHuOfn7gonxzUcu7Nrf21ktinQVd73t8ei/3KV3Zd3X5esyNB/1mtxpu891JHrw1JHwvavj0/TcjUqM+D7c8Ovn41tj0k6VnHM/FXyiNa08YTJpMmb00mzZ5ZTCj+1p9VvGN5FvK29m59nfp77Xfz304Pu/3kflj56eIzxyf276sW4CFmq8WXye/bV4UWWz/7vV9/seOn3I/+5YClxZ/7fmt+rt/OWx5GSA5QlNjZSeK1QKA8Hx5+bMsAGk3wK+y5eWfNcvLv2oBsKcAvXErezsAAEQOgEO1/9sey38BOi/O6KPLSP4AADwwaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzAxNCA3OS4xNTY3OTcsIDIwMTQvMDgvMjAtMDk6NTM6MDIgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICAgICAgICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChNYWNpbnRvc2gpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE1LTA1LTE1VDEwOjM5OjExKzAyOjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNS0wNS0xNVQxMDozOToxMSswMjowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTUtMDUtMTVUMTA6Mzk6MTErMDI6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOmU3ODMyNmIwLTQ5NmItNGMyMy05ZGI1LTI4OTRkMWQxZWZmYzwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjQxZDQzYTcwLTNiNmMtMTE3OC05ZDQ5LWY0MzVhZTM4NTFiMTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjVkM2FkZDhiLTljMmUtNDU0ZC1iMjFhLTk5ZTliZDY2ODg1MDwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo1ZDNhZGQ4Yi05YzJlLTQ1NGQtYjIxYS05OWU5YmQ2Njg4NTA8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTUtMDUtMTVUMTA6Mzk6MTErMDI6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChNYWNpbnRvc2gpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplNzgzMjZiMC00OTZiLTRjMjMtOWRiNS0yODk0ZDFkMWVmZmM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTUtMDUtMTVUMTA6Mzk6MTErMDI6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChNYWNpbnRvc2gpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6U2VxPgogICAgICAgICA8L3htcE1NOkhpc3Rvcnk+CiAgICAgICAgIDxwaG90b3Nob3A6VGV4dExheWVycz4KICAgICAgICAgICAgPHJkZjpCYWc+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8cGhvdG9zaG9wOkxheWVyTmFtZT7DlzwvcGhvdG9zaG9wOkxheWVyTmFtZT4KICAgICAgICAgICAgICAgICAgPHBob3Rvc2hvcDpMYXllclRleHQ+w5c8L3Bob3Rvc2hvcDpMYXllclRleHQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHBob3Rvc2hvcDpMYXllck5hbWU+YTwvcGhvdG9zaG9wOkxheWVyTmFtZT4KICAgICAgICAgICAgICAgICAgPHBob3Rvc2hvcDpMYXllclRleHQ+YTwvcGhvdG9zaG9wOkxheWVyVGV4dD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOkJhZz4KICAgICAgICAgPC9waG90b3Nob3A6VGV4dExheWVycz4KICAgICAgICAgPHBob3Rvc2hvcDpDb2xvck1vZGU+MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHBob3Rvc2hvcDpJQ0NQcm9maWxlPkRpc3BsYXk8L3Bob3Rvc2hvcDpJQ0NQcm9maWxlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MTk8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MTc8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/Pn/qNPoAAAAgY0hSTQAAbZgAAHOOAAD6zAAAhPoAAHmBAAD9EwAAMG0AABIpDR4mTgAAAMBJREFUeNrE1L0NwyAURtHrKAu4pPUKXsGs4AIGyGRQ2CM4K3gFt3TJCE5DgSL+7FgKEg0SB77HE82+71w1blw47mc3ais6YAGkUW47fbMA6n6Kqa1ogekbSmLaipe2ok9AC9AfeYAWmHycKqgUswOWAIxBbz8BaGJ9pq0IF1e/YYhA0ii3HmmNVKwxhHIxt8IB0ij3rK2ZDGtRAyUx39ExcExB2df09ZDB0sMoN+eyN6VfQ1sxAG0JqsL+9gV9BgBw6UeG/cRoQwAAAABJRU5ErkJggg==);-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}input[type=file].error{color:#b94a48;background:0 0;-webkit-box-shadow:none;box-shadow:none}input[type=file].valid{color:#468847;background:0 0;-webkit-box-shadow:none;box-shadow:none}.form-error{display:block;color:#b94a48;margin-top:5px;margin-bottom:10px;line-height:140%}span.help{color:#999;font-size:90%}input.validating-server-side,select.validating-server-side{opacity:.5;background-image:url(data:image/gif;base64,R0lGODlhEAAQAPQAAP///wAAAPDw8IqKiuDg4EZGRnp6egAAAFhYWCQkJKysrL6+vhQUFJycnAQEBDY2NmhoaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH+GkNyZWF0ZWQgd2l0aCBhamF4bG9hZC5pbmZvACH5BAAKAAAAIf8LTkVUU0NBUEUyLjADAQAAACwAAAAAEAAQAAAFdyAgAgIJIeWoAkRCCMdBkKtIHIngyMKsErPBYbADpkSCwhDmQCBethRB6Vj4kFCkQPG4IlWDgrNRIwnO4UKBXDufzQvDMaoSDBgFb886MiQadgNABAokfCwzBA8LCg0Egl8jAggGAA1kBIA1BAYzlyILczULC2UhACH5BAAKAAEALAAAAAAQABAAAAV2ICACAmlAZTmOREEIyUEQjLKKxPHADhEvqxlgcGgkGI1DYSVAIAWMx+lwSKkICJ0QsHi9RgKBwnVTiRQQgwF4I4UFDQQEwi6/3YSGWRRmjhEETAJfIgMFCnAKM0KDV4EEEAQLiF18TAYNXDaSe3x6mjidN1s3IQAh+QQACgACACwAAAAAEAAQAAAFeCAgAgLZDGU5jgRECEUiCI+yioSDwDJyLKsXoHFQxBSHAoAAFBhqtMJg8DgQBgfrEsJAEAg4YhZIEiwgKtHiMBgtpg3wbUZXGO7kOb1MUKRFMysCChAoggJCIg0GC2aNe4gqQldfL4l/Ag1AXySJgn5LcoE3QXI3IQAh+QQACgADACwAAAAAEAAQAAAFdiAgAgLZNGU5joQhCEjxIssqEo8bC9BRjy9Ag7GILQ4QEoE0gBAEBcOpcBA0DoxSK/e8LRIHn+i1cK0IyKdg0VAoljYIg+GgnRrwVS/8IAkICyosBIQpBAMoKy9dImxPhS+GKkFrkX+TigtLlIyKXUF+NjagNiEAIfkEAAoABAAsAAAAABAAEAAABWwgIAICaRhlOY4EIgjH8R7LKhKHGwsMvb4AAy3WODBIBBKCsYA9TjuhDNDKEVSERezQEL0WrhXucRUQGuik7bFlngzqVW9LMl9XWvLdjFaJtDFqZ1cEZUB0dUgvL3dgP4WJZn4jkomWNpSTIyEAIfkEAAoABQAsAAAAABAAEAAABX4gIAICuSxlOY6CIgiD8RrEKgqGOwxwUrMlAoSwIzAGpJpgoSDAGifDY5kopBYDlEpAQBwevxfBtRIUGi8xwWkDNBCIwmC9Vq0aiQQDQuK+VgQPDXV9hCJjBwcFYU5pLwwHXQcMKSmNLQcIAExlbH8JBwttaX0ABAcNbWVbKyEAIfkEAAoABgAsAAAAABAAEAAABXkgIAICSRBlOY7CIghN8zbEKsKoIjdFzZaEgUBHKChMJtRwcWpAWoWnifm6ESAMhO8lQK0EEAV3rFopIBCEcGwDKAqPh4HUrY4ICHH1dSoTFgcHUiZjBhAJB2AHDykpKAwHAwdzf19KkASIPl9cDgcnDkdtNwiMJCshACH5BAAKAAcALAAAAAAQABAAAAV3ICACAkkQZTmOAiosiyAoxCq+KPxCNVsSMRgBsiClWrLTSWFoIQZHl6pleBh6suxKMIhlvzbAwkBWfFWrBQTxNLq2RG2yhSUkDs2b63AYDAoJXAcFRwADeAkJDX0AQCsEfAQMDAIPBz0rCgcxky0JRWE1AmwpKyEAIfkEAAoACAAsAAAAABAAEAAABXkgIAICKZzkqJ4nQZxLqZKv4NqNLKK2/Q4Ek4lFXChsg5ypJjs1II3gEDUSRInEGYAw6B6zM4JhrDAtEosVkLUtHA7RHaHAGJQEjsODcEg0FBAFVgkQJQ1pAwcDDw8KcFtSInwJAowCCA6RIwqZAgkPNgVpWndjdyohACH5BAAKAAkALAAAAAAQABAAAAV5ICACAimc5KieLEuUKvm2xAKLqDCfC2GaO9eL0LABWTiBYmA06W6kHgvCqEJiAIJiu3gcvgUsscHUERm+kaCxyxa+zRPk0SgJEgfIvbAdIAQLCAYlCj4DBw0IBQsMCjIqBAcPAooCBg9pKgsJLwUFOhCZKyQDA3YqIQAh+QQACgAKACwAAAAAEAAQAAAFdSAgAgIpnOSonmxbqiThCrJKEHFbo8JxDDOZYFFb+A41E4H4OhkOipXwBElYITDAckFEOBgMQ3arkMkUBdxIUGZpEb7kaQBRlASPg0FQQHAbEEMGDSVEAA1QBhAED1E0NgwFAooCDWljaQIQCE5qMHcNhCkjIQAh+QQACgALACwAAAAAEAAQAAAFeSAgAgIpnOSoLgxxvqgKLEcCC65KEAByKK8cSpA4DAiHQ/DkKhGKh4ZCtCyZGo6F6iYYPAqFgYy02xkSaLEMV34tELyRYNEsCQyHlvWkGCzsPgMCEAY7Cg04Uk48LAsDhRA8MVQPEF0GAgqYYwSRlycNcWskCkApIyEAOwAAAAAAAAAAAA==);background-position:right 5px center;background-repeat:no-repeat;background-color:#FFF}div.form-error{background-color:#f2dede;padding:15px;margin-bottom:20px;border:1px solid #b94a48;border-radius:4px}div.form-error strong{font-weight:700;display:block;margin:0;padding:0 0 10px}div.form-error strong,div.form-error ul li{line-height:140%;color:#b94a48;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px}div.form-error ul,div.form-error ul li{background:0 0} \ No newline at end of file + */@font-face{font-family:FontAwesome;src:url(../../fonts/fontawesome-webfont.eot?v=4.4.0);src:url(../../fonts/fontawesome-webfont.eot?#iefix&v=4.4.0) format('embedded-opentype'),url(../../fonts/fontawesome-webfont.woff2?v=4.4.0) format('woff2'),url(../../fonts/fontawesome-webfont.woff?v=4.4.0) format('woff'),url(../../fonts/fontawesome-webfont.ttf?v=4.4.0) format('truetype'),url(../../fonts/fontawesome-webfont.svg?v=4.4.0#fontawesomeregular) format('svg');font-weight:400;font-style:normal}.fa{font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-stack,audio,canvas,iframe,img,svg,video{vertical-align:middle}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa.fa-pull-right,.fa.pull-right{margin-left:.3em}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right,.pull-right{float:right}.pull-left{float:left}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{position:relative;width:2em;height:2em;line-height:2em}progress,sub,sup{vertical-align:baseline}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\f152"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-inr:before,.fa-rupee:before{content:"\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-empire:before,.fa-ge:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-bed:before,.fa-hotel:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-y-combinator:before,.fa-yc:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-television:before,.fa-tv:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.simplecolorpicker.picker{position:absolute;top:100%;left:0;z-index:1051;display:none;float:left;min-width:160px;max-width:283px;padding:5px 0 0 5px;margin:2px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);-moz-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.uk-panel,sub,sup{position:relative}ins,mark{background:#ffa}.simplecolorpicker.inline{display:inline-block;padding:6px 0}.simplecolorpicker span{margin:0 5px 5px 0}.simplecolorpicker span.color,.simplecolorpicker.icon{display:inline-block;cursor:pointer;border:1px solid transparent}.simplecolorpicker span.color:after,.simplecolorpicker.icon:after{content:'\00a0\00a0\00a0\00a0'}.simplecolorpicker span.color[data-disabled]:hover{cursor:not-allowed;border:1px solid transparent}.simplecolorpicker span.color:hover,.simplecolorpicker span.color[data-selected],.simplecolorpicker span.color[data-selected]:hover{border:1px solid #222}.simplecolorpicker span.vr{border-left:1px solid #222}hr,iframe,img{border:0}.simplecolorpicker.fontawesome span.color[data-selected]:after{font-family:FontAwesome;-webkit-font-smoothing:antialiased;content:'\f00c';margin-right:1px;margin-left:1px}/*! UIkit 2.25.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */html{font:400 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;background:#fff;color:#444}body{margin:0}a{background:0 0}a:active,a:hover{outline:0}.uk-link,a{color:#07d;text-decoration:none;cursor:pointer}.uk-navbar-nav>li>a[href='#'],.uk-tab>li.uk-disabled>a{cursor:text}.uk-link:hover,a:hover{color:#059;text-decoration:underline}.uk-article-title a,.uk-nav li>a,.uk-navbar-nav>li>a,.uk-panel,.uk-panel:hover,ins{text-decoration:none}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}:not(pre)>code,:not(pre)>kbd,:not(pre)>samp{font-size:12px;font-family:Consolas,monospace,serif;color:#d05;white-space:nowrap}ins,mark,pre{color:#444}em{color:#d05}q{font-style:italic}small{font-size:80%}sub,sup{font-size:75%;line-height:0}sup{top:-.5em}sub{bottom:-.25em}img{max-width:100%;height:auto;box-sizing:border-box}.uk-img-preserve,.uk-img-preserve img{max-width:none}address,blockquote,dl,fieldset,figure,ol,p,pre,ul{margin:0 0 15px}*+address,*+blockquote,*+dl,*+fieldset,*+figure,*+ol,*+p,*+pre,*+ul{margin-top:15px}h1,h2,h3,h4,h5,h6{margin:0 0 15px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400;color:#444;text-transform:none}*+h1,*+h2,*+h3,*+h4,*+h5,*+h6{margin-top:25px}.uk-h1,h1{font-size:36px;line-height:42px}.uk-h2,h2{font-size:24px;line-height:30px}.uk-h3,h3{font-size:18px;line-height:24px}.uk-h4,h4{font-size:16px;line-height:22px}.uk-h5,h5{font-size:14px;line-height:20px}.uk-h6,h6{font-size:12px;line-height:18px}ol,ul{padding-left:30px}ol>li>ol,ol>li>ul,ul>li>ol,ul>li>ul{margin:0}dt{font-weight:700}dd{margin-left:0}hr{height:0;margin:15px 0;border-top:1px solid #ddd}address{font-style:normal}blockquote{padding-left:15px;border-left:5px solid #ddd;font-size:16px;line-height:22px;font-style:italic}pre{padding:10px;background:#f5f5f5;font:12px/18px Consolas,monospace,serif;-moz-tab-size:4;tab-size:4;overflow:auto}::-moz-selection{background:#39f;color:#fff;text-shadow:none}::selection{background:#39f;color:#fff;text-shadow:none}article,aside,details,figcaption,figure,footer,header,main,nav,section,summary{display:block}[hidden],audio:not([controls]),template{display:none}@media screen and (max-width:400px){@-ms-viewport{width:device-width}}.uk-grid{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin:0;padding:0;list-style:none}.uk-grid:after,.uk-grid:before{content:"";display:block;overflow:hidden}.uk-grid>*{-ms-flex:none;-webkit-flex:none;flex:none;margin:0;float:left;padding-left:25px}.uk-grid>*>:last-child{margin-bottom:0}.uk-grid{margin-left:-25px}@media (min-width:1220px){.uk-grid{margin-left:-35px}.uk-grid>*{padding-left:35px}.uk-grid+.uk-grid,.uk-grid-margin,.uk-grid>*>.uk-panel+.uk-panel{margin-top:35px}}.uk-grid-collapse{margin-left:0}.uk-grid-collapse>*{padding-left:0}.uk-grid-collapse+.uk-grid-collapse,.uk-grid-collapse>*>.uk-panel+.uk-panel,.uk-grid-collapse>.uk-grid-margin{margin-top:0}.uk-grid-small{margin-left:-10px}.uk-grid-small>*{padding-left:10px}.uk-grid-small+.uk-grid-small,.uk-grid-small>*>.uk-panel+.uk-panel,.uk-grid-small>.uk-grid-margin{margin-top:10px}.uk-grid-medium{margin-left:-25px}.uk-grid-medium>*{padding-left:25px}.uk-grid-medium+.uk-grid-medium,.uk-grid-medium>*>.uk-panel+.uk-panel,.uk-grid-medium>.uk-grid-margin{margin-top:25px}.uk-grid-divider:not(:empty){margin-left:-25px;margin-right:-25px}.uk-grid-divider>*{padding-left:25px;padding-right:25px}.uk-grid-divider>[class*=uk-width-1-]:not(.uk-width-1-1):nth-child(n+2),.uk-grid-divider>[class*=uk-width-2-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-3-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-4-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-5-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-6-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-7-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-8-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-9-]:nth-child(n+2){border-left:1px solid #ddd}@media (min-width:1220px){.uk-grid-divider:not(:empty){margin-left:-35px;margin-right:-35px}.uk-grid-divider>*{padding-left:35px;padding-right:35px}.uk-grid-divider:empty{margin-top:35px;margin-bottom:35px}}.uk-grid-divider:empty{margin-top:25px;margin-bottom:25px;border-top:1px solid #ddd}.uk-grid-match>*{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.uk-grid-match>*>*{-ms-flex:none;-webkit-flex:none;flex:none;box-sizing:border-box;width:100%}[class*=uk-grid-width]>*{box-sizing:border-box;width:100%}.uk-grid-width-1-2>*{width:50%}.uk-grid-width-1-3>*{width:33.333%}.uk-grid-width-1-4>*{width:25%}.uk-grid-width-1-5>*{width:20%}.uk-grid-width-1-6>*{width:16.666%}.uk-grid-width-1-10>*{width:10%}.uk-grid-width-auto>*{width:auto}@media (min-width:480px){.uk-grid-width-small-1-1>*{width:100%}.uk-grid-width-small-1-2>*{width:50%}.uk-grid-width-small-1-3>*{width:33.333%}.uk-grid-width-small-1-4>*{width:25%}.uk-grid-width-small-1-5>*{width:20%}.uk-grid-width-small-1-6>*{width:16.666%}.uk-grid-width-small-1-10>*{width:10%}}@media (min-width:768px){.uk-grid-divider>[class*=uk-width-medium-]:not(.uk-width-medium-1-1):nth-child(n+2){border-left:1px solid #ddd}.uk-grid-width-medium-1-1>*{width:100%}.uk-grid-width-medium-1-2>*{width:50%}.uk-grid-width-medium-1-3>*{width:33.333%}.uk-grid-width-medium-1-4>*{width:25%}.uk-grid-width-medium-1-5>*{width:20%}.uk-grid-width-medium-1-6>*{width:16.666%}.uk-grid-width-medium-1-10>*{width:10%}}@media (min-width:960px){.uk-grid-divider>[class*=uk-width-large-]:not(.uk-width-large-1-1):nth-child(n+2){border-left:1px solid #ddd}.uk-grid-width-large-1-1>*{width:100%}.uk-grid-width-large-1-2>*{width:50%}.uk-grid-width-large-1-3>*{width:33.333%}.uk-grid-width-large-1-4>*{width:25%}.uk-grid-width-large-1-5>*{width:20%}.uk-grid-width-large-1-6>*{width:16.666%}.uk-grid-width-large-1-10>*{width:10%}}@media (min-width:1220px){.uk-grid-width-xlarge-1-1>*{width:100%}.uk-grid-width-xlarge-1-2>*{width:50%}.uk-grid-width-xlarge-1-3>*{width:33.333%}.uk-grid-width-xlarge-1-4>*{width:25%}.uk-grid-width-xlarge-1-5>*{width:20%}.uk-grid-width-xlarge-1-6>*{width:16.666%}.uk-grid-width-xlarge-1-10>*{width:10%}}[class*=uk-width]{box-sizing:border-box;width:100%}.uk-width-1-1{width:100%}.uk-width-1-2,.uk-width-2-4,.uk-width-3-6,.uk-width-5-10{width:50%}.uk-width-1-3,.uk-width-2-6{width:33.333%}.uk-width-2-3,.uk-width-4-6{width:66.666%}.uk-width-1-4{width:25%}.uk-width-3-4{width:75%}.uk-width-1-5,.uk-width-2-10{width:20%}.uk-width-2-5,.uk-width-4-10{width:40%}.uk-width-3-5,.uk-width-6-10{width:60%}.uk-width-4-5,.uk-width-8-10{width:80%}.uk-width-1-6{width:16.666%}.uk-width-5-6{width:83.333%}.uk-width-1-10{width:10%}.uk-width-3-10{width:30%}.uk-width-7-10{width:70%}.uk-width-9-10{width:90%}@media (min-width:480px){.uk-width-small-1-1{width:100%}.uk-width-small-1-2,.uk-width-small-2-4,.uk-width-small-3-6,.uk-width-small-5-10{width:50%}.uk-width-small-1-3,.uk-width-small-2-6{width:33.333%}.uk-width-small-2-3,.uk-width-small-4-6{width:66.666%}.uk-width-small-1-4{width:25%}.uk-width-small-3-4{width:75%}.uk-width-small-1-5,.uk-width-small-2-10{width:20%}.uk-width-small-2-5,.uk-width-small-4-10{width:40%}.uk-width-small-3-5,.uk-width-small-6-10{width:60%}.uk-width-small-4-5,.uk-width-small-8-10{width:80%}.uk-width-small-1-6{width:16.666%}.uk-width-small-5-6{width:83.333%}.uk-width-small-1-10{width:10%}.uk-width-small-3-10{width:30%}.uk-width-small-7-10{width:70%}.uk-width-small-9-10{width:90%}}@media (min-width:768px){.uk-width-medium-1-1{width:100%}.uk-width-medium-1-2,.uk-width-medium-2-4,.uk-width-medium-3-6,.uk-width-medium-5-10{width:50%}.uk-width-medium-1-3,.uk-width-medium-2-6{width:33.333%}.uk-width-medium-2-3,.uk-width-medium-4-6{width:66.666%}.uk-width-medium-1-4{width:25%}.uk-width-medium-3-4{width:75%}.uk-width-medium-1-5,.uk-width-medium-2-10{width:20%}.uk-width-medium-2-5,.uk-width-medium-4-10{width:40%}.uk-width-medium-3-5,.uk-width-medium-6-10{width:60%}.uk-width-medium-4-5,.uk-width-medium-8-10{width:80%}.uk-width-medium-1-6{width:16.666%}.uk-width-medium-5-6{width:83.333%}.uk-width-medium-1-10{width:10%}.uk-width-medium-3-10{width:30%}.uk-width-medium-7-10{width:70%}.uk-width-medium-9-10{width:90%}[class*=uk-push-],[class*=uk-pull-]{position:relative}.uk-push-1-2,.uk-push-2-4,.uk-push-3-6,.uk-push-5-10{left:50%}.uk-push-1-3,.uk-push-2-6{left:33.333%}.uk-push-2-3,.uk-push-4-6{left:66.666%}.uk-push-1-4{left:25%}.uk-push-3-4{left:75%}.uk-push-1-5,.uk-push-2-10{left:20%}.uk-push-2-5,.uk-push-4-10{left:40%}.uk-push-3-5,.uk-push-6-10{left:60%}.uk-push-4-5,.uk-push-8-10{left:80%}.uk-push-1-6{left:16.666%}.uk-push-5-6{left:83.333%}.uk-push-1-10{left:10%}.uk-push-3-10{left:30%}.uk-push-7-10{left:70%}.uk-push-9-10{left:90%}.uk-pull-1-2,.uk-pull-2-4,.uk-pull-3-6,.uk-pull-5-10{left:-50%}.uk-pull-1-3,.uk-pull-2-6{left:-33.333%}.uk-pull-2-3,.uk-pull-4-6{left:-66.666%}.uk-pull-1-4{left:-25%}.uk-pull-3-4{left:-75%}.uk-pull-1-5,.uk-pull-2-10{left:-20%}.uk-pull-2-5,.uk-pull-4-10{left:-40%}.uk-pull-3-5,.uk-pull-6-10{left:-60%}.uk-pull-4-5,.uk-pull-8-10{left:-80%}.uk-pull-1-6{left:-16.666%}.uk-pull-5-6{left:-83.333%}.uk-pull-1-10{left:-10%}.uk-pull-3-10{left:-30%}.uk-pull-7-10{left:-70%}.uk-pull-9-10{left:-90%}}@media (min-width:960px){.uk-width-large-1-1{width:100%}.uk-width-large-1-2,.uk-width-large-2-4,.uk-width-large-3-6,.uk-width-large-5-10{width:50%}.uk-width-large-1-3,.uk-width-large-2-6{width:33.333%}.uk-width-large-2-3,.uk-width-large-4-6{width:66.666%}.uk-width-large-1-4{width:25%}.uk-width-large-3-4{width:75%}.uk-width-large-1-5,.uk-width-large-2-10{width:20%}.uk-width-large-2-5,.uk-width-large-4-10{width:40%}.uk-width-large-3-5,.uk-width-large-6-10{width:60%}.uk-width-large-4-5,.uk-width-large-8-10{width:80%}.uk-width-large-1-6{width:16.666%}.uk-width-large-5-6{width:83.333%}.uk-width-large-1-10{width:10%}.uk-width-large-3-10{width:30%}.uk-width-large-7-10{width:70%}.uk-width-large-9-10{width:90%}}.uk-panel{display:block}.uk-panel:after,.uk-panel:before{content:"";display:table}.uk-panel>:not(.uk-panel-title):last-child{margin-bottom:0}.uk-panel-teaser,.uk-panel-title{margin-bottom:15px}.uk-panel-title{margin-top:0;font-size:18px;line-height:24px;color:#444}.uk-panel-badge{position:absolute;top:0;right:0;z-index:1}.uk-panel-box .uk-panel-badge,.uk-panel-hover .uk-panel-badge{top:10px;right:10px}.uk-panel-body{padding:15px}.uk-panel-box{padding:15px;color:#444}.uk-panel-box .uk-panel-title,.uk-panel-box-hover:hover{color:#444}.uk-panel-box>.uk-panel-teaser{margin-top:-15px;margin-left:-15px;margin-right:-15px}.uk-panel-box>.uk-nav-side{margin:0 -15px}.uk-article>:last-child,.uk-block>:last-child{margin-bottom:0}.uk-panel-box-primary{background-color:#ebf7fd;color:#2d7091}.uk-panel-box-primary .uk-panel-title,.uk-panel-box-primary-hover:hover{color:#2d7091}.uk-panel-box-secondary{background-color:#eee;color:#444}.uk-panel-box-secondary .uk-panel-title,.uk-panel-box-secondary-hover:hover{color:#444}.uk-panel-hover{padding:15px;color:#444}.uk-panel-hover:hover{background:#f5f5f5;color:#444}.uk-panel-hover>.uk-panel-teaser{margin-top:-15px;margin-left:-15px;margin-right:-15px}.uk-panel-header .uk-panel-title{padding-bottom:10px;border-bottom:1px solid #ddd;color:#444}.uk-panel-space{padding:30px}.uk-panel-space .uk-panel-badge{top:30px;right:30px}.uk-panel+.uk-panel-divider{margin-top:50px!important}.uk-panel+.uk-panel-divider:before{content:"";display:block;position:absolute;top:-25px;left:0;right:0;border-top:1px solid #ddd}.uk-article:after,.uk-article:before,.uk-block:after,.uk-block:before,.uk-comment-header:after,.uk-comment-header:before{content:"";display:table}@media (min-width:1220px){.uk-width-xlarge-1-1{width:100%}.uk-width-xlarge-1-2,.uk-width-xlarge-2-4,.uk-width-xlarge-3-6,.uk-width-xlarge-5-10{width:50%}.uk-width-xlarge-1-3,.uk-width-xlarge-2-6{width:33.333%}.uk-width-xlarge-2-3,.uk-width-xlarge-4-6{width:66.666%}.uk-width-xlarge-1-4{width:25%}.uk-width-xlarge-3-4{width:75%}.uk-width-xlarge-1-5,.uk-width-xlarge-2-10{width:20%}.uk-width-xlarge-2-5,.uk-width-xlarge-4-10{width:40%}.uk-width-xlarge-3-5,.uk-width-xlarge-6-10{width:60%}.uk-width-xlarge-4-5,.uk-width-xlarge-8-10{width:80%}.uk-width-xlarge-1-6{width:16.666%}.uk-width-xlarge-5-6{width:83.333%}.uk-width-xlarge-1-10{width:10%}.uk-width-xlarge-3-10{width:30%}.uk-width-xlarge-7-10{width:70%}.uk-width-xlarge-9-10{width:90%}.uk-panel+.uk-panel-divider{margin-top:70px!important}.uk-panel+.uk-panel-divider:before{top:-35px}}*+.uk-article-divider,.uk-article+.uk-article{margin-top:25px}.uk-cover-object,[data-uk-cover]{left:50%;top:50%;position:relative}.uk-block{position:relative;box-sizing:border-box;padding-top:20px;padding-bottom:20px}@media (min-width:768px){.uk-block{padding-top:50px;padding-bottom:50px}}.uk-block-large{padding-top:20px;padding-bottom:20px}@media (min-width:768px){.uk-block-large{padding-top:50px;padding-bottom:50px}}@media (min-width:960px){.uk-block-large{padding-top:100px;padding-bottom:100px}}.uk-block-default{background:#fff}.uk-block-muted{background:#f9f9f9}.uk-block-primary{background:#00a8e6}.uk-block-secondary{background:#222}.uk-block-default+.uk-block-default,.uk-block-muted+.uk-block-muted,.uk-block-primary+.uk-block-primary,.uk-block-secondary+.uk-block-secondary{padding-top:0}.uk-article-title{font-size:36px;line-height:42px}.uk-article-title a{color:inherit}.uk-article-meta{font-size:12px;line-height:18px;color:#999}.uk-article-lead{color:#444;font-size:18px;line-height:24px;font-weight:400}.uk-article-divider{margin-bottom:25px;border-color:#ddd}.uk-nav-dropdown .uk-nav-divider,.uk-nav-navbar .uk-nav-divider,.uk-nav-side .uk-nav-divider{border-top:1px solid #ddd}.uk-comment-avatar{margin-right:15px;float:left}.uk-comment-meta{margin:2px 0 0;font-size:11px;line-height:16px;color:#999}.uk-comment-body>:last-child{margin-bottom:0}.uk-comment-list{padding:0;list-style:none}.uk-comment-list .uk-comment+ul>li:nth-child(n+2),.uk-comment-list>li:nth-child(n+2){margin-top:15px}@media (min-width:768px){.uk-comment-list .uk-comment+ul{padding-left:100px}}.uk-cover-background{background-position:50% 50%;background-size:cover;background-repeat:no-repeat}.uk-cover{overflow:hidden}.uk-cover-object{width:auto;height:auto;min-width:100%;min-height:100%;max-width:none;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}[data-uk-cover]{-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.uk-nav,.uk-nav ul{margin:0;padding:0;list-style:none}.uk-nav li>a{display:block}.uk-nav>li>a{padding:5px 15px}.uk-nav ul{padding-left:15px}.uk-nav ul a{padding:2px 0}.uk-nav li>a>div{font-size:12px;line-height:18px}.uk-nav-header{padding:5px 15px;text-transform:uppercase;font-weight:700;font-size:12px}.uk-nav-header:not(:first-child){margin-top:15px}.uk-nav-divider{margin:9px 15px}ul.uk-nav-sub{padding:5px 0 5px 15px}.uk-nav-parent-icon>.uk-parent>a:after{content:"\f104";width:20px;margin-right:-10px;float:right;font-family:FontAwesome;text-align:center}.uk-nav-parent-icon>.uk-parent.uk-open>a:after{content:"\f107"}.uk-nav-side>li>a{color:#444}.uk-nav-side>li>a:focus,.uk-nav-side>li>a:hover{background:rgba(0,0,0,.05);color:#444;outline:0}.uk-nav-side>li.uk-active>a{background:#00a8e6;color:#fff}.uk-nav-side .uk-nav-header{color:#444}.uk-nav-side ul a{color:#07d}.uk-nav-side ul a:hover{color:#059}.uk-nav-dropdown>li>a{color:#444}.uk-nav-dropdown>li>a:focus,.uk-nav-dropdown>li>a:hover{outline:0}.uk-nav-dropdown .uk-nav-header{color:#999}.uk-nav-dropdown ul a{color:#07d}.uk-nav-dropdown ul a:hover{color:#059}.uk-nav-navbar>li>a{color:#444}.uk-nav-navbar>li>a:focus,.uk-nav-navbar>li>a:hover{background:#00a8e6;color:#fff;outline:0}.uk-nav-navbar .uk-nav-header{color:#999}.uk-nav-navbar ul a{color:#07d}.uk-nav-navbar ul a:hover{color:#059}.uk-nav-offcanvas>li>a{color:#ccc;padding:10px 15px}.uk-nav-offcanvas>.uk-open>a,html:not(.uk-touch) .uk-nav-offcanvas>li>a:focus,html:not(.uk-touch) .uk-nav-offcanvas>li>a:hover{background:#404040;color:#fff;outline:0}html .uk-nav.uk-nav-offcanvas>li.uk-active>a{background:#1a1a1a;color:#fff}.uk-nav-offcanvas .uk-nav-header{color:#777}.uk-nav-offcanvas .uk-nav-divider{border-top:1px solid #1a1a1a}.uk-nav-offcanvas ul a{color:#ccc}html:not(.uk-touch) .uk-nav-offcanvas ul a:hover{color:#fff}.uk-navbar{background:#eee;color:#444}.uk-navbar:after,.uk-navbar:before{content:"";display:table}.uk-navbar-nav{margin:0;padding:0;list-style:none;float:left}.uk-navbar-nav>li{float:left;position:relative}.uk-navbar-nav>li>a{display:block;box-sizing:border-box;height:40px;padding:0 15px;line-height:40px;color:#444;font-size:14px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400}.uk-navbar-nav>li.uk-open>a,.uk-navbar-nav>li:hover>a,.uk-navbar-nav>li>a:focus{background-color:#f5f5f5;color:#444;outline:0}.uk-navbar-nav>li>a:active{background-color:#ddd;color:#444}.uk-navbar-nav>li.uk-active>a{background-color:#f5f5f5;color:#444}.uk-navbar-nav .uk-navbar-nav-subtitle{line-height:28px}.uk-navbar-nav-subtitle>div{margin-top:-6px;font-size:10px;line-height:12px}.uk-navbar-brand,.uk-navbar-toggle{font-size:18px;text-decoration:none}.uk-navbar-brand,.uk-navbar-content,.uk-navbar-toggle{box-sizing:border-box;display:block;height:40px;padding:0 15px;float:left}.uk-navbar-brand:before,.uk-navbar-content:before,.uk-navbar-toggle:before{content:'';display:inline-block;height:100%;vertical-align:middle}.uk-navbar-content+.uk-navbar-content:not(.uk-navbar-center){padding-left:0}.uk-navbar-content>a:not([class]){color:#07d}.uk-navbar-content>a:not([class]):hover{color:#059}.uk-navbar-brand{color:#444}.uk-navbar-brand:focus,.uk-navbar-brand:hover{color:#444;text-decoration:none;outline:0}.uk-navbar-toggle{color:#444}.uk-navbar-toggle:focus,.uk-navbar-toggle:hover{color:#444;text-decoration:none;outline:0}.uk-navbar-toggle:after{content:"\f0c9";font-family:FontAwesome;vertical-align:middle}.uk-navbar-toggle-alt:after{content:"\f002"}.uk-navbar-center{float:none;text-align:center;max-width:50%;margin-left:auto;margin-right:auto}.uk-navbar-flip{float:right}.uk-subnav{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-left:-10px;margin-top:-10px;padding:0;list-style:none}.uk-subnav>*{-ms-flex:none;-webkit-flex:none;flex:none;padding-left:10px;margin-top:10px;position:relative;float:left}.uk-subnav:after,.uk-subnav:before{content:"";display:block;overflow:hidden}.uk-breadcrumb>li,.uk-breadcrumb>li>a,.uk-breadcrumb>li>span,.uk-subnav-line>:before,.uk-subnav>*>*{display:inline-block}.uk-subnav>*>*{color:#444}.uk-subnav>*>:focus,.uk-subnav>*>:hover{color:#07d;text-decoration:none}.uk-subnav>.uk-active>*{color:#07d}.uk-subnav-line>:before{content:"";height:10px;vertical-align:middle}.uk-breadcrumb>li,.uk-pagination>li,.uk-table td{vertical-align:top}.uk-subnav-line>:nth-child(n+2):before{margin-right:10px;border-left:1px solid #ddd}.uk-subnav-pill>*>*{padding:3px 9px}.uk-breadcrumb,.uk-pagination,.uk-tab{padding:0;list-style:none}.uk-subnav-pill>*>:focus,.uk-subnav-pill>*>:hover{background:#eee;color:#444;text-decoration:none;outline:0}.uk-subnav-pill>.uk-active>*{color:#fff}.uk-subnav>.uk-disabled>*{background:0 0;color:#999;text-decoration:none;cursor:text}.uk-breadcrumb{font-size:0}.uk-breadcrumb>li{font-size:1rem}.uk-breadcrumb>li:nth-child(n+2):before{content:"/";display:inline-block;margin:0 8px}.uk-breadcrumb>li:not(.uk-active)>span{color:#999}.uk-pagination{text-align:center;font-size:0}.uk-pagination:after,.uk-pagination:before{content:"";display:table}.uk-pagination>li{display:inline-block;font-size:1rem}.uk-pagination>li:nth-child(n+2){margin-left:5px}.uk-pagination>li>a,.uk-pagination>li>span{display:inline-block;text-decoration:none;text-align:center}.uk-pagination>li>a:focus,.uk-pagination>li>a:hover{background-color:#f5f5f5;color:#444;outline:0}.uk-pagination>li>a:active{background-color:#ddd;color:#444}.uk-pagination>.uk-active>span{background:#00a8e6;color:#fff}.uk-pagination>.uk-disabled>span{background-color:#f5f5f5;color:#999}.uk-pagination-previous{float:left}.uk-pagination-next{float:right}.uk-pagination-left{text-align:left}.uk-pagination-right{text-align:right}.uk-tab-center .uk-tab>li>a,.uk-tab-grid>li>a{text-align:center}.uk-tab{margin:0;border-bottom:1px solid #ddd}.uk-tab:after,.uk-tab:before{content:"";display:table}.uk-tab>li{float:left;position:relative}.uk-alert>.uk-close:first-child,.uk-tab-flip>li{float:right}.uk-tab>li>a{display:block;text-decoration:none}.uk-tab>li:nth-child(n+2)>a{margin-left:5px}.uk-tab>li.uk-open>a,.uk-tab>li>a:focus,.uk-tab>li>a:hover{border-color:#f5f5f5;background:#f5f5f5;color:#059;outline:0}.uk-tab>li.uk-open:not(.uk-active)>a,.uk-tab>li:not(.uk-active)>a:focus,.uk-tab>li:not(.uk-active)>a:hover{margin-bottom:1px;padding-bottom:7px}.uk-tab>li.uk-active>a{border-color:#ddd #ddd transparent;color:#444}.uk-button:not(:disabled),.uk-form input[type=checkbox]:not(:disabled),.uk-form input[type=radio]:not(:disabled){cursor:pointer}.uk-tab>li.uk-disabled.uk-active>a,.uk-tab>li.uk-disabled>a:focus,.uk-tab>li.uk-disabled>a:hover{background:0 0;border-color:transparent}.uk-tab-flip>li:nth-child(n+2)>a{margin-left:0;margin-right:5px}.uk-tab>li.uk-tab-responsive>a{margin-left:0;margin-right:0}.uk-tab-center{border-bottom:1px solid #ddd}.uk-tab-center-bottom{border-bottom:none;border-top:1px solid #ddd}.uk-tab-center:after,.uk-tab-center:before{content:"";display:table}.uk-tab-center:after{clear:both}.uk-tab-center .uk-tab{position:relative;right:50%;border:none;float:right}.uk-tab-center .uk-tab>li{position:relative;right:-50%}.uk-tab-bottom{border-top:1px solid #ddd;border-bottom:none}.uk-tab-bottom>li{margin-top:-1px;margin-bottom:0}.uk-tab-bottom>li>a{padding-top:8px;padding-bottom:8px;border-bottom-width:1px;border-top-width:0}.uk-tab-bottom>li.uk-open:not(.uk-active)>a,.uk-tab-bottom>li:not(.uk-active)>a:focus,.uk-tab-bottom>li:not(.uk-active)>a:hover{margin-bottom:0;margin-top:1px;padding-bottom:8px;padding-top:7px}.uk-tab-bottom>li.uk-active>a{border-top-color:transparent;border-bottom-color:#ddd}.uk-tab-grid{margin-left:-5px;border-bottom:none;position:relative;z-index:0}.uk-tab-grid:before{display:block;position:absolute;left:5px;right:0;bottom:-1px;border-top:1px solid #ddd;z-index:-1}.uk-tab-grid>li:first-child>a{margin-left:5px}.uk-tab-grid.uk-tab-bottom{border-top:none}.uk-tab-grid.uk-tab-bottom:before{top:-1px;bottom:auto}@media (min-width:768px){.uk-tab-left,.uk-tab-right{border-bottom:none}.uk-tab-left>li,.uk-tab-right>li{margin-bottom:0;float:none}.uk-tab-left>li>a,.uk-tab-right>li>a{padding-top:8px;padding-bottom:8px}.uk-tab-left>li:nth-child(n+2)>a,.uk-tab-right>li:nth-child(n+2)>a{margin-left:0;margin-top:5px}.uk-tab-left>li.uk-active>a,.uk-tab-right>li.uk-active>a{border-color:#ddd}.uk-tab-left{border-right:1px solid #ddd}.uk-tab-left>li{margin-right:-1px}.uk-tab-left>li>a{border-bottom-width:1px;border-right-width:0}.uk-tab-left>li:not(.uk-active)>a:focus,.uk-tab-left>li:not(.uk-active)>a:hover{margin-bottom:0;margin-right:1px;padding-bottom:8px;padding-right:11px}.uk-tab-left>li.uk-active>a{border-right-color:transparent}.uk-tab-right{border-left:1px solid #ddd}.uk-tab-right>li{margin-left:-1px}.uk-tab-right>li>a{border-bottom-width:1px;border-left-width:0}.uk-tab-right>li:not(.uk-active)>a:focus,.uk-tab-right>li:not(.uk-active)>a:hover{margin-bottom:0;margin-left:1px;padding-bottom:8px;padding-left:11px}.uk-tab-right>li.uk-active>a{border-left-color:transparent}}.uk-thumbnav{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-left:-10px;margin-top:-10px;padding:0;list-style:none}.uk-thumbnav>*{-ms-flex:none;-webkit-flex:none;flex:none;padding-left:10px;margin-top:10px;float:left}.uk-thumbnav:after,.uk-thumbnav:before{content:"";display:block;overflow:hidden}.uk-thumbnav>*>*{display:block;background:#fff}.uk-thumbnav>*>*>img{opacity:.7;transition:opacity .15s linear}.uk-close-alt:focus,.uk-close-alt:hover,.uk-thumbnav>*>:focus>img,.uk-thumbnav>*>:hover>img,.uk-thumbnav>.uk-active>*>img{opacity:1}.uk-list{padding:0;list-style:none}.uk-list>li:after,.uk-list>li:before{content:"";display:table}.uk-list>li>:last-child{margin-bottom:0}.uk-list ul{margin:0;padding-left:20px;list-style:none}.uk-list-line>li:nth-child(n+2){margin-top:5px;padding-top:5px;border-top:1px solid #ddd}.uk-list-striped>li{padding:5px}.uk-list-striped>li:nth-of-type(odd){background:#f5f5f5}.uk-list-space>li:nth-child(n+2){margin-top:10px}@media (min-width:768px){.uk-description-list-horizontal{overflow:hidden}.uk-description-list-horizontal>dt{width:160px;float:left;clear:both;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uk-description-list-horizontal>dd{margin-left:180px}}.uk-description-list-line>dt{font-weight:400}.uk-description-list-line>dt:nth-child(n+2){margin-top:5px;padding-top:5px;border-top:1px solid #ddd}.uk-description-list-line>dd{color:#999}.uk-table{border-collapse:collapse;border-spacing:0;width:100%;margin-bottom:15px}*+.uk-table{margin-top:15px}.uk-table td,.uk-table th{padding:8px}.uk-table th{text-align:left}.uk-table thead th{vertical-align:bottom}.uk-table caption,.uk-table tfoot{font-size:12px;font-style:italic}.uk-table caption{text-align:left;color:#999}.uk-table tbody tr.uk-active{background:#eee}.uk-table-middle,.uk-table-middle td{vertical-align:middle!important}.uk-table-condensed td{padding:4px 8px}.uk-form input,.uk-form select,.uk-form textarea{box-sizing:border-box;margin:0;border-radius:0;font:inherit;color:inherit}.uk-form select{text-transform:none}.uk-form optgroup{font:inherit;font-weight:700}.uk-form input::-moz-focus-inner{border:0;padding:0}.uk-form input[type=checkbox],.uk-form input[type=radio]{padding:0}.uk-form input:not([type]),.uk-form input[type=text],.uk-form input[type=password],.uk-form input[type=email],.uk-form input[type=url],.uk-form input[type=search],.uk-form input[type=tel],.uk-form input[type=number],.uk-form input[type=datetime],.uk-form textarea{-webkit-appearance:none}.uk-form input[type=search]::-webkit-search-cancel-button,.uk-form input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.uk-form input[type=number]::-webkit-inner-spin-button,.uk-form input[type=number]::-webkit-outer-spin-button{height:auto}.uk-form fieldset{border:none;margin:0;padding:0}.uk-form textarea{overflow:auto;vertical-align:top}.uk-button,.uk-button-group,.uk-form input:not([type=radio]):not([type=checkbox]),.uk-form select{vertical-align:middle}.uk-form :invalid{box-shadow:none}.uk-form>:last-child{margin-bottom:0}.uk-form input:not([type]),.uk-form input[type=text],.uk-form input[type=password],.uk-form input[type=email],.uk-form input[type=url],.uk-form input[type=search],.uk-form input[type=tel],.uk-form input[type=number],.uk-form input[type=datetime],.uk-form input[type=datetime-local],.uk-form input[type=date],.uk-form input[type=month],.uk-form input[type=time],.uk-form input[type=week],.uk-form input[type=color],.uk-form select,.uk-form textarea{height:30px;max-width:100%;padding:4px 6px;border:1px solid #ddd;background:#fff;color:#444;-webkit-transition:all linear .2s;transition:all linear .2s}.uk-form input:not([type]):focus,.uk-form input[type=text]:focus,.uk-form input[type=password]:focus,.uk-form input[type=email]:focus,.uk-form input[type=url]:focus,.uk-form input[type=search]:focus,.uk-form input[type=tel]:focus,.uk-form input[type=number]:focus,.uk-form input[type=datetime]:focus,.uk-form input[type=datetime-local]:focus,.uk-form input[type=date]:focus,.uk-form input[type=month]:focus,.uk-form input[type=time]:focus,.uk-form input[type=week]:focus,.uk-form input[type=color]:focus,.uk-form select:focus,.uk-form textarea:focus{border-color:#99baca;outline:0;background:#f5fbfe;color:#444}.uk-form input:not([type]):disabled,.uk-form input[type=text]:disabled,.uk-form input[type=password]:disabled,.uk-form input[type=email]:disabled,.uk-form input[type=url]:disabled,.uk-form input[type=search]:disabled,.uk-form input[type=tel]:disabled,.uk-form input[type=number]:disabled,.uk-form input[type=datetime]:disabled,.uk-form input[type=datetime-local]:disabled,.uk-form input[type=date]:disabled,.uk-form input[type=month]:disabled,.uk-form input[type=time]:disabled,.uk-form input[type=week]:disabled,.uk-form input[type=color]:disabled,.uk-form select:disabled,.uk-form textarea:disabled{border-color:#ddd;background-color:#f5f5f5;color:#999}.uk-form :-ms-input-placeholder{color:#999!important}.uk-form ::-moz-placeholder{opacity:1;color:#999}.uk-form ::-webkit-input-placeholder{color:#999}.uk-form :disabled:-ms-input-placeholder{color:#999!important}.uk-form :disabled::-moz-placeholder{color:#999}.uk-form :disabled::-webkit-input-placeholder{color:#999}.uk-form legend{width:100%;border:0;padding:0 0 15px;font-size:18px;line-height:30px}.uk-form legend:after{content:"";display:block;border-bottom:1px solid #ddd;width:100%}input:not([type]).uk-form-small,input[type].uk-form-small,select.uk-form-small,textarea.uk-form-small{height:25px;padding:3px;font-size:12px}input:not([type]).uk-form-large,input[type].uk-form-large,select.uk-form-large,textarea.uk-form-large{height:40px;padding:8px 6px;font-size:16px}.uk-form select[multiple],.uk-form select[size],.uk-form textarea{height:auto}.uk-form-danger{border-color:#dc8d99!important;background:#fff7f8!important;color:#d85030!important}.uk-form-success{border-color:#8ec73b!important;background:#fafff2!important;color:#659f13!important}.uk-form-blank{border-color:transparent!important;border-style:dashed!important;background:0 0!important}.uk-form-blank:focus{border-color:#ddd!important}input.uk-form-width-mini{width:40px}select.uk-form-width-mini{width:65px}.uk-form-width-small{width:130px}.uk-form-width-medium{width:200px}.uk-form-width-large{width:500px}.uk-form-row:after,.uk-form-row:before{content:"";display:table}.uk-form-help-inline{display:inline-block;margin:0 0 0 10px}.uk-form-help-block{margin:5px 0 0}.uk-form-controls>:first-child{margin-top:0}.uk-form-controls>:last-child{margin-bottom:0}.uk-form-controls-condensed{margin:5px 0}.uk-form-stacked .uk-form-label{margin-bottom:5px}@media (max-width:959px){.uk-form-horizontal .uk-form-label{display:block;margin-bottom:5px;font-weight:700}}@media (min-width:960px){.uk-form-horizontal .uk-form-label{width:200px;margin-top:5px;float:left}.uk-form-horizontal .uk-form-controls{margin-left:215px}.uk-form-horizontal .uk-form-controls-text{padding-top:5px}}.uk-form-icon{display:inline-block;position:relative;max-width:100%}.uk-form-icon>[class*=uk-icon-]{position:absolute;top:50%;width:30px;margin-top:-7px;font-size:14px;color:#999;text-align:center;pointer-events:none}.uk-button,.uk-close{margin:0;overflow:visible;display:inline-block;text-transform:none;text-align:center;-webkit-appearance:none}.uk-form-icon:not(.uk-form-icon-flip)>input{padding-left:30px!important}.uk-form-icon-flip>[class*=uk-icon-]{right:0}.uk-form-icon-flip>input{padding-right:30px!important}.uk-button::-moz-focus-inner{border:0;padding:0}.uk-button{border:none;font:inherit;color:#444;box-sizing:border-box;padding:0 12px;background:#eee;line-height:30px;min-height:30px;font-size:1rem;text-decoration:none}.uk-button:focus,.uk-button:hover{background-color:#f5f5f5;color:#444;outline:0;text-decoration:none}.uk-button.uk-active,.uk-button:active{background-color:#ddd;color:#444}.uk-button-primary{background-color:#00a8e6;color:#fff}.uk-button-primary:focus,.uk-button-primary:hover{background-color:#35b3ee;color:#fff}.uk-button-primary.uk-active,.uk-button-primary:active{background-color:#0091ca;color:#fff}.uk-button-success{background-color:#8cc14c;color:#fff}.uk-button-success:focus,.uk-button-success:hover{background-color:#8ec73b;color:#fff}.uk-button-success.uk-active,.uk-button-success:active{background-color:#72ae41;color:#fff}.uk-button-danger{background-color:#da314b;color:#fff}.uk-button-danger:focus,.uk-button-danger:hover{background-color:#e4354f;color:#fff}.uk-button-danger.uk-active,.uk-button-danger:active{background-color:#c91032;color:#fff}.uk-button:disabled{background-color:#f5f5f5;color:#999}.uk-button-link,.uk-button-link.uk-active,.uk-button-link:active,.uk-button-link:disabled,.uk-button-link:focus,.uk-button-link:hover{border-color:transparent;background:0 0}.uk-button-link{color:#07d}.uk-button-link.uk-active,.uk-button-link:active,.uk-button-link:focus,.uk-button-link:hover{color:#059;text-decoration:underline}.uk-button-link:disabled,.uk-icon-hover{color:#999}.uk-button-link:focus{outline:dotted 1px}.uk-button-mini{min-height:20px;padding:0 6px;line-height:20px;font-size:11px}.uk-button-small{min-height:25px;padding:0 10px;line-height:25px;font-size:12px}.uk-button-large{min-height:40px;padding:0 15px;line-height:40px;font-size:16px}.uk-button-group{display:inline-block;position:relative;font-size:0;white-space:nowrap}.uk-button-group>*{display:inline-block}.uk-button-group .uk-button{vertical-align:top}.uk-button-dropdown{display:inline-block;vertical-align:middle;position:relative}@font-face{font-family:FontAwesome;src:url(../fonts/fontawesome-webfont.woff2) format('woff2'),url(../fonts/fontawesome-webfont.woff) format("woff"),url(../fonts/fontawesome-webfont.ttf) format("truetype");font-weight:400;font-style:normal}[class*=uk-icon-]{font-family:FontAwesome;display:inline-block;font-weight:400;font-style:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[class*=uk-icon-],[class*=uk-icon-]:focus,[class*=uk-icon-]:hover{text-decoration:none}.uk-icon-small{font-size:150%;vertical-align:-10%}.uk-icon-medium{font-size:200%;vertical-align:-16%}.uk-icon-large{font-size:250%;vertical-align:-22%}.uk-badge,.uk-close,.uk-overlay,.uk-overlay-area-content{vertical-align:middle}.uk-icon-justify{width:1em;text-align:center}.uk-icon-spin{display:inline-block;-webkit-animation:uk-rotate 2s infinite linear;animation:uk-rotate 2s infinite linear}.uk-icon-hover:hover{color:#444}.uk-icon-button{box-sizing:border-box;display:inline-block;width:35px;height:35px;border-radius:100%;background:#eee;line-height:35px;color:#444;font-size:18px;text-align:center}.uk-icon-button:focus,.uk-icon-button:hover{background-color:#f5f5f5;color:#444;outline:0}.uk-icon-button:active{background-color:#ddd;color:#444}.uk-icon-music:before{content:"\f001"}.uk-icon-search:before{content:"\f002"}.uk-icon-envelope-o:before{content:"\f003"}.uk-icon-heart:before{content:"\f004"}.uk-icon-star:before{content:"\f005"}.uk-icon-star-o:before{content:"\f006"}.uk-icon-user:before{content:"\f007"}.uk-icon-film:before{content:"\f008"}.uk-icon-th-large:before{content:"\f009"}.uk-icon-th:before{content:"\f00a"}.uk-icon-th-list:before{content:"\f00b"}.uk-icon-check:before{content:"\f00c"}.uk-icon-close:before,.uk-icon-remove:before,.uk-icon-times:before{content:"\f00d"}.uk-icon-search-plus:before{content:"\f00e"}.uk-icon-search-minus:before{content:"\f010"}.uk-icon-power-off:before{content:"\f011"}.uk-icon-signal:before{content:"\f012"}.uk-icon-cog:before,.uk-icon-gear:before{content:"\f013"}.uk-icon-trash-o:before{content:"\f014"}.uk-icon-home:before{content:"\f015"}.uk-icon-file-o:before{content:"\f016"}.uk-icon-clock-o:before{content:"\f017"}.uk-icon-road:before{content:"\f018"}.uk-icon-download:before{content:"\f019"}.uk-icon-arrow-circle-o-down:before{content:"\f01a"}.uk-icon-arrow-circle-o-up:before{content:"\f01b"}.uk-icon-inbox:before{content:"\f01c"}.uk-icon-play-circle-o:before{content:"\f01d"}.uk-icon-repeat:before,.uk-icon-rotate-right:before{content:"\f01e"}.uk-icon-refresh:before{content:"\f021"}.uk-icon-list-alt:before{content:"\f022"}.uk-icon-lock:before{content:"\f023"}.uk-icon-flag:before{content:"\f024"}.uk-icon-headphones:before{content:"\f025"}.uk-icon-volume-off:before{content:"\f026"}.uk-icon-volume-down:before{content:"\f027"}.uk-icon-volume-up:before{content:"\f028"}.uk-icon-qrcode:before{content:"\f029"}.uk-icon-barcode:before{content:"\f02a"}.uk-icon-tag:before{content:"\f02b"}.uk-icon-tags:before{content:"\f02c"}.uk-icon-book:before{content:"\f02d"}.uk-icon-bookmark:before{content:"\f02e"}.uk-icon-print:before{content:"\f02f"}.uk-icon-camera:before{content:"\f030"}.uk-icon-font:before{content:"\f031"}.uk-icon-bold:before{content:"\f032"}.uk-icon-italic:before{content:"\f033"}.uk-icon-text-height:before{content:"\f034"}.uk-icon-text-width:before{content:"\f035"}.uk-icon-align-left:before{content:"\f036"}.uk-icon-align-center:before{content:"\f037"}.uk-icon-align-right:before{content:"\f038"}.uk-icon-align-justify:before{content:"\f039"}.uk-icon-list:before{content:"\f03a"}.uk-icon-dedent:before,.uk-icon-outdent:before{content:"\f03b"}.uk-icon-indent:before{content:"\f03c"}.uk-icon-video-camera:before{content:"\f03d"}.uk-icon-image:before,.uk-icon-photo:before,.uk-icon-picture-o:before{content:"\f03e"}.uk-icon-pencil:before{content:"\f040"}.uk-icon-map-marker:before{content:"\f041"}.uk-icon-adjust:before{content:"\f042"}.uk-icon-tint:before{content:"\f043"}.uk-icon-edit:before,.uk-icon-pencil-square-o:before{content:"\f044"}.uk-icon-share-square-o:before{content:"\f045"}.uk-icon-check-square-o:before{content:"\f046"}.uk-icon-arrows:before{content:"\f047"}.uk-icon-step-backward:before{content:"\f048"}.uk-icon-fast-backward:before{content:"\f049"}.uk-icon-backward:before{content:"\f04a"}.uk-icon-play:before{content:"\f04b"}.uk-icon-pause:before{content:"\f04c"}.uk-icon-stop:before{content:"\f04d"}.uk-icon-forward:before{content:"\f04e"}.uk-icon-fast-forward:before{content:"\f050"}.uk-icon-step-forward:before{content:"\f051"}.uk-icon-eject:before{content:"\f052"}.uk-icon-chevron-left:before{content:"\f053"}.uk-icon-chevron-right:before{content:"\f054"}.uk-icon-plus-circle:before{content:"\f055"}.uk-icon-minus-circle:before{content:"\f056"}.uk-icon-times-circle:before{content:"\f057"}.uk-icon-check-circle:before{content:"\f058"}.uk-icon-question-circle:before{content:"\f059"}.uk-icon-info-circle:before{content:"\f05a"}.uk-icon-crosshairs:before{content:"\f05b"}.uk-icon-times-circle-o:before{content:"\f05c"}.uk-icon-check-circle-o:before{content:"\f05d"}.uk-icon-ban:before{content:"\f05e"}.uk-icon-arrow-left:before{content:"\f060"}.uk-icon-arrow-right:before{content:"\f061"}.uk-icon-arrow-up:before{content:"\f062"}.uk-icon-arrow-down:before{content:"\f063"}.uk-icon-mail-forward:before,.uk-icon-share:before{content:"\f064"}.uk-icon-expand:before{content:"\f065"}.uk-icon-compress:before{content:"\f066"}.uk-icon-plus:before{content:"\f067"}.uk-icon-minus:before{content:"\f068"}.uk-icon-asterisk:before{content:"\f069"}.uk-icon-exclamation-circle:before{content:"\f06a"}.uk-icon-gift:before{content:"\f06b"}.uk-icon-leaf:before{content:"\f06c"}.uk-icon-fire:before{content:"\f06d"}.uk-icon-eye:before{content:"\f06e"}.uk-icon-eye-slash:before{content:"\f070"}.uk-icon-exclamation-triangle:before,.uk-icon-warning:before{content:"\f071"}.uk-icon-plane:before{content:"\f072"}.uk-icon-calendar:before{content:"\f073"}.uk-icon-random:before{content:"\f074"}.uk-icon-comment:before{content:"\f075"}.uk-icon-magnet:before{content:"\f076"}.uk-icon-chevron-up:before{content:"\f077"}.uk-icon-chevron-down:before{content:"\f078"}.uk-icon-retweet:before{content:"\f079"}.uk-icon-shopping-cart:before{content:"\f07a"}.uk-icon-folder:before{content:"\f07b"}.uk-icon-folder-open:before{content:"\f07c"}.uk-icon-arrows-v:before{content:"\f07d"}.uk-icon-arrows-h:before{content:"\f07e"}.uk-icon-bar-chart-o:before,.uk-icon-bar-chart:before{content:"\f080"}.uk-icon-twitter-square:before{content:"\f081"}.uk-icon-facebook-square:before{content:"\f082"}.uk-icon-camera-retro:before{content:"\f083"}.uk-icon-key:before{content:"\f084"}.uk-icon-cogs:before,.uk-icon-gears:before{content:"\f085"}.uk-icon-comments:before{content:"\f086"}.uk-icon-thumbs-o-up:before{content:"\f087"}.uk-icon-thumbs-o-down:before{content:"\f088"}.uk-icon-star-half:before{content:"\f089"}.uk-icon-heart-o:before{content:"\f08a"}.uk-icon-sign-out:before{content:"\f08b"}.uk-icon-linkedin-square:before{content:"\f08c"}.uk-icon-thumb-tack:before{content:"\f08d"}.uk-icon-external-link:before{content:"\f08e"}.uk-icon-sign-in:before{content:"\f090"}.uk-icon-trophy:before{content:"\f091"}.uk-icon-github-square:before{content:"\f092"}.uk-icon-upload:before{content:"\f093"}.uk-icon-lemon-o:before{content:"\f094"}.uk-icon-phone:before{content:"\f095"}.uk-icon-square-o:before{content:"\f096"}.uk-icon-bookmark-o:before{content:"\f097"}.uk-icon-phone-square:before{content:"\f098"}.uk-icon-twitter:before{content:"\f099"}.uk-icon-facebook-f:before,.uk-icon-facebook:before{content:"\f09a"}.uk-icon-github:before{content:"\f09b"}.uk-icon-unlock:before{content:"\f09c"}.uk-icon-credit-card:before{content:"\f09d"}.uk-icon-rss:before{content:"\f09e"}.uk-icon-hdd-o:before{content:"\f0a0"}.uk-icon-bullhorn:before{content:"\f0a1"}.uk-icon-bell:before{content:"\f0f3"}.uk-icon-certificate:before{content:"\f0a3"}.uk-icon-hand-o-right:before{content:"\f0a4"}.uk-icon-hand-o-left:before{content:"\f0a5"}.uk-icon-hand-o-up:before{content:"\f0a6"}.uk-icon-hand-o-down:before{content:"\f0a7"}.uk-icon-arrow-circle-left:before{content:"\f0a8"}.uk-icon-arrow-circle-right:before{content:"\f0a9"}.uk-icon-arrow-circle-up:before{content:"\f0aa"}.uk-icon-arrow-circle-down:before{content:"\f0ab"}.uk-icon-globe:before{content:"\f0ac"}.uk-icon-wrench:before{content:"\f0ad"}.uk-icon-tasks:before{content:"\f0ae"}.uk-icon-filter:before{content:"\f0b0"}.uk-icon-briefcase:before{content:"\f0b1"}.uk-icon-arrows-alt:before{content:"\f0b2"}.uk-icon-group:before,.uk-icon-users:before{content:"\f0c0"}.uk-icon-chain:before,.uk-icon-link:before{content:"\f0c1"}.uk-icon-cloud:before{content:"\f0c2"}.uk-icon-flask:before{content:"\f0c3"}.uk-icon-cut:before,.uk-icon-scissors:before{content:"\f0c4"}.uk-icon-copy:before,.uk-icon-files-o:before{content:"\f0c5"}.uk-icon-paperclip:before{content:"\f0c6"}.uk-icon-floppy-o:before,.uk-icon-save:before{content:"\f0c7"}.uk-icon-square:before{content:"\f0c8"}.uk-icon-bars:before,.uk-icon-navicon:before,.uk-icon-reorder:before{content:"\f0c9"}.uk-icon-list-ul:before{content:"\f0ca"}.uk-icon-list-ol:before{content:"\f0cb"}.uk-icon-strikethrough:before{content:"\f0cc"}.uk-icon-underline:before{content:"\f0cd"}.uk-icon-table:before{content:"\f0ce"}.uk-icon-magic:before{content:"\f0d0"}.uk-icon-truck:before{content:"\f0d1"}.uk-icon-pinterest:before{content:"\f0d2"}.uk-icon-pinterest-square:before{content:"\f0d3"}.uk-icon-google-plus-square:before{content:"\f0d4"}.uk-icon-google-plus:before{content:"\f0d5"}.uk-icon-money:before{content:"\f0d6"}.uk-icon-caret-down:before{content:"\f0d7"}.uk-icon-caret-up:before{content:"\f0d8"}.uk-icon-caret-left:before{content:"\f0d9"}.uk-icon-caret-right:before{content:"\f0da"}.uk-icon-columns:before{content:"\f0db"}.uk-icon-sort:before,.uk-icon-unsorted:before{content:"\f0dc"}.uk-icon-sort-desc:before,.uk-icon-sort-down:before{content:"\f0dd"}.uk-icon-sort-asc:before,.uk-icon-sort-up:before{content:"\f0de"}.uk-icon-envelope:before{content:"\f0e0"}.uk-icon-linkedin:before{content:"\f0e1"}.uk-icon-rotate-left:before,.uk-icon-undo:before{content:"\f0e2"}.uk-icon-gavel:before,.uk-icon-legal:before{content:"\f0e3"}.uk-icon-dashboard:before,.uk-icon-tachometer:before{content:"\f0e4"}.uk-icon-comment-o:before{content:"\f0e5"}.uk-icon-comments-o:before{content:"\f0e6"}.uk-icon-bolt:before,.uk-icon-flash:before{content:"\f0e7"}.uk-icon-sitemap:before{content:"\f0e8"}.uk-icon-umbrella:before{content:"\f0e9"}.uk-icon-clipboard:before,.uk-icon-paste:before{content:"\f0ea"}.uk-icon-lightbulb-o:before{content:"\f0eb"}.uk-icon-exchange:before{content:"\f0ec"}.uk-icon-cloud-download:before{content:"\f0ed"}.uk-icon-cloud-upload:before{content:"\f0ee"}.uk-icon-user-md:before{content:"\f0f0"}.uk-icon-stethoscope:before{content:"\f0f1"}.uk-icon-suitcase:before{content:"\f0f2"}.uk-icon-bell-o:before{content:"\f0a2"}.uk-icon-coffee:before{content:"\f0f4"}.uk-icon-cutlery:before{content:"\f0f5"}.uk-icon-file-text-o:before{content:"\f0f6"}.uk-icon-building-o:before{content:"\f0f7"}.uk-icon-hospital-o:before{content:"\f0f8"}.uk-icon-ambulance:before{content:"\f0f9"}.uk-icon-medkit:before{content:"\f0fa"}.uk-icon-fighter-jet:before{content:"\f0fb"}.uk-icon-beer:before{content:"\f0fc"}.uk-icon-h-square:before{content:"\f0fd"}.uk-icon-plus-square:before{content:"\f0fe"}.uk-icon-angle-double-left:before{content:"\f100"}.uk-icon-angle-double-right:before{content:"\f101"}.uk-icon-angle-double-up:before{content:"\f102"}.uk-icon-angle-double-down:before{content:"\f103"}.uk-icon-angle-left:before{content:"\f104"}.uk-icon-angle-right:before{content:"\f105"}.uk-icon-angle-up:before{content:"\f106"}.uk-icon-angle-down:before{content:"\f107"}.uk-icon-desktop:before{content:"\f108"}.uk-icon-laptop:before{content:"\f109"}.uk-icon-tablet:before{content:"\f10a"}.uk-icon-mobile-phone:before,.uk-icon-mobile:before{content:"\f10b"}.uk-icon-circle-o:before{content:"\f10c"}.uk-icon-quote-left:before{content:"\f10d"}.uk-icon-quote-right:before{content:"\f10e"}.uk-icon-spinner:before{content:"\f110"}.uk-icon-circle:before{content:"\f111"}.uk-icon-mail-reply:before,.uk-icon-reply:before{content:"\f112"}.uk-icon-github-alt:before{content:"\f113"}.uk-icon-folder-o:before{content:"\f114"}.uk-icon-folder-open-o:before{content:"\f115"}.uk-icon-smile-o:before{content:"\f118"}.uk-icon-frown-o:before{content:"\f119"}.uk-icon-meh-o:before{content:"\f11a"}.uk-icon-gamepad:before{content:"\f11b"}.uk-icon-keyboard-o:before{content:"\f11c"}.uk-icon-flag-o:before{content:"\f11d"}.uk-icon-flag-checkered:before{content:"\f11e"}.uk-icon-terminal:before{content:"\f120"}.uk-icon-code:before{content:"\f121"}.uk-icon-mail-reply-all:before,.uk-icon-reply-all:before{content:"\f122"}.uk-icon-star-half-empty:before,.uk-icon-star-half-full:before,.uk-icon-star-half-o:before{content:"\f123"}.uk-icon-location-arrow:before{content:"\f124"}.uk-icon-crop:before{content:"\f125"}.uk-icon-code-fork:before{content:"\f126"}.uk-icon-chain-broken:before,.uk-icon-unlink:before{content:"\f127"}.uk-icon-question:before{content:"\f128"}.uk-icon-info:before{content:"\f129"}.uk-icon-exclamation:before{content:"\f12a"}.uk-icon-superscript:before{content:"\f12b"}.uk-icon-subscript:before{content:"\f12c"}.uk-icon-eraser:before{content:"\f12d"}.uk-icon-puzzle-piece:before{content:"\f12e"}.uk-icon-microphone:before{content:"\f130"}.uk-icon-microphone-slash:before{content:"\f131"}.uk-icon-shield:before{content:"\f132"}.uk-icon-calendar-o:before{content:"\f133"}.uk-icon-fire-extinguisher:before{content:"\f134"}.uk-icon-rocket:before{content:"\f135"}.uk-icon-maxcdn:before{content:"\f136"}.uk-icon-chevron-circle-left:before{content:"\f137"}.uk-icon-chevron-circle-right:before{content:"\f138"}.uk-icon-chevron-circle-up:before{content:"\f139"}.uk-icon-chevron-circle-down:before{content:"\f13a"}.uk-icon-html5:before{content:"\f13b"}.uk-icon-css3:before{content:"\f13c"}.uk-icon-anchor:before{content:"\f13d"}.uk-icon-unlock-alt:before{content:"\f13e"}.uk-icon-bullseye:before{content:"\f140"}.uk-icon-ellipsis-h:before{content:"\f141"}.uk-icon-ellipsis-v:before{content:"\f142"}.uk-icon-rss-square:before{content:"\f143"}.uk-icon-play-circle:before{content:"\f144"}.uk-icon-ticket:before{content:"\f145"}.uk-icon-minus-square:before{content:"\f146"}.uk-icon-minus-square-o:before{content:"\f147"}.uk-icon-level-up:before{content:"\f148"}.uk-icon-level-down:before{content:"\f149"}.uk-icon-check-square:before{content:"\f14a"}.uk-icon-pencil-square:before{content:"\f14b"}.uk-icon-external-link-square:before{content:"\f14c"}.uk-icon-share-square:before{content:"\f14d"}.uk-icon-compass:before{content:"\f14e"}.uk-icon-caret-square-o-down:before,.uk-icon-toggle-down:before{content:"\f150"}.uk-icon-caret-square-o-up:before,.uk-icon-toggle-up:before{content:"\f151"}.uk-icon-caret-square-o-right:before,.uk-icon-toggle-right:before{content:"\f152"}.uk-icon-eur:before,.uk-icon-euro:before{content:"\f153"}.uk-icon-gbp:before{content:"\f154"}.uk-icon-dollar:before,.uk-icon-usd:before{content:"\f155"}.uk-icon-inr:before,.uk-icon-rupee:before{content:"\f156"}.uk-icon-cny:before,.uk-icon-jpy:before,.uk-icon-rmb:before,.uk-icon-yen:before{content:"\f157"}.uk-icon-rouble:before,.uk-icon-rub:before,.uk-icon-ruble:before{content:"\f158"}.uk-icon-krw:before,.uk-icon-won:before{content:"\f159"}.uk-icon-bitcoin:before,.uk-icon-btc:before{content:"\f15a"}.uk-icon-file:before{content:"\f15b"}.uk-icon-file-text:before{content:"\f15c"}.uk-icon-sort-alpha-asc:before{content:"\f15d"}.uk-icon-sort-alpha-desc:before{content:"\f15e"}.uk-icon-sort-amount-asc:before{content:"\f160"}.uk-icon-sort-amount-desc:before{content:"\f161"}.uk-icon-sort-numeric-asc:before{content:"\f162"}.uk-icon-sort-numeric-desc:before{content:"\f163"}.uk-icon-thumbs-up:before{content:"\f164"}.uk-icon-thumbs-down:before{content:"\f165"}.uk-icon-youtube-square:before{content:"\f166"}.uk-icon-youtube:before{content:"\f167"}.uk-icon-xing:before{content:"\f168"}.uk-icon-xing-square:before{content:"\f169"}.uk-icon-youtube-play:before{content:"\f16a"}.uk-icon-dropbox:before{content:"\f16b"}.uk-icon-stack-overflow:before{content:"\f16c"}.uk-icon-instagram:before{content:"\f16d"}.uk-icon-flickr:before{content:"\f16e"}.uk-icon-adn:before{content:"\f170"}.uk-icon-bitbucket:before{content:"\f171"}.uk-icon-bitbucket-square:before{content:"\f172"}.uk-icon-tumblr:before{content:"\f173"}.uk-icon-tumblr-square:before{content:"\f174"}.uk-icon-long-arrow-down:before{content:"\f175"}.uk-icon-long-arrow-up:before{content:"\f176"}.uk-icon-long-arrow-left:before{content:"\f177"}.uk-icon-long-arrow-right:before{content:"\f178"}.uk-icon-apple:before{content:"\f179"}.uk-icon-windows:before{content:"\f17a"}.uk-icon-android:before{content:"\f17b"}.uk-icon-linux:before{content:"\f17c"}.uk-icon-dribbble:before{content:"\f17d"}.uk-icon-skype:before{content:"\f17e"}.uk-icon-foursquare:before{content:"\f180"}.uk-icon-trello:before{content:"\f181"}.uk-icon-female:before{content:"\f182"}.uk-icon-male:before{content:"\f183"}.uk-icon-gittip:before,.uk-icon-gratipay:before{content:"\f184"}.uk-icon-sun-o:before{content:"\f185"}.uk-icon-moon-o:before{content:"\f186"}.uk-icon-archive:before{content:"\f187"}.uk-icon-bug:before{content:"\f188"}.uk-icon-vk:before{content:"\f189"}.uk-icon-weibo:before{content:"\f18a"}.uk-icon-renren:before{content:"\f18b"}.uk-icon-pagelines:before{content:"\f18c"}.uk-icon-stack-exchange:before{content:"\f18d"}.uk-icon-arrow-circle-o-right:before{content:"\f18e"}.uk-icon-arrow-circle-o-left:before{content:"\f190"}.uk-icon-caret-square-o-left:before,.uk-icon-toggle-left:before{content:"\f191"}.uk-icon-dot-circle-o:before{content:"\f192"}.uk-icon-wheelchair:before{content:"\f193"}.uk-icon-vimeo-square:before{content:"\f194"}.uk-icon-try:before,.uk-icon-turkish-lira:before{content:"\f195"}.uk-icon-plus-square-o:before{content:"\f196"}.uk-icon-space-shuttle:before{content:"\f197"}.uk-icon-slack:before{content:"\f198"}.uk-icon-envelope-square:before{content:"\f199"}.uk-icon-wordpress:before{content:"\f19a"}.uk-icon-openid:before{content:"\f19b"}.uk-icon-bank:before,.uk-icon-institution:before,.uk-icon-university:before{content:"\f19c"}.uk-icon-graduation-cap:before,.uk-icon-mortar-board:before{content:"\f19d"}.uk-icon-yahoo:before{content:"\f19e"}.uk-icon-google:before{content:"\f1a0"}.uk-icon-reddit:before{content:"\f1a1"}.uk-icon-reddit-square:before{content:"\f1a2"}.uk-icon-stumbleupon-circle:before{content:"\f1a3"}.uk-icon-stumbleupon:before{content:"\f1a4"}.uk-icon-delicious:before{content:"\f1a5"}.uk-icon-digg:before{content:"\f1a6"}.uk-icon-pied-piper:before{content:"\f1a7"}.uk-icon-pied-piper-alt:before{content:"\f1a8"}.uk-icon-drupal:before{content:"\f1a9"}.uk-icon-joomla:before{content:"\f1aa"}.uk-icon-language:before{content:"\f1ab"}.uk-icon-fax:before{content:"\f1ac"}.uk-icon-building:before{content:"\f1ad"}.uk-icon-child:before{content:"\f1ae"}.uk-icon-paw:before{content:"\f1b0"}.uk-icon-spoon:before{content:"\f1b1"}.uk-icon-cube:before{content:"\f1b2"}.uk-icon-cubes:before{content:"\f1b3"}.uk-icon-behance:before{content:"\f1b4"}.uk-icon-behance-square:before{content:"\f1b5"}.uk-icon-steam:before{content:"\f1b6"}.uk-icon-steam-square:before{content:"\f1b7"}.uk-icon-recycle:before{content:"\f1b8"}.uk-icon-automobile:before,.uk-icon-car:before{content:"\f1b9"}.uk-icon-cab:before,.uk-icon-taxi:before{content:"\f1ba"}.uk-icon-tree:before{content:"\f1bb"}.uk-icon-spotify:before{content:"\f1bc"}.uk-icon-deviantart:before{content:"\f1bd"}.uk-icon-soundcloud:before{content:"\f1be"}.uk-icon-database:before{content:"\f1c0"}.uk-icon-file-pdf-o:before{content:"\f1c1"}.uk-icon-file-word-o:before{content:"\f1c2"}.uk-icon-file-excel-o:before{content:"\f1c3"}.uk-icon-file-powerpoint-o:before{content:"\f1c4"}.uk-icon-file-image-o:before,.uk-icon-file-photo-o:before,.uk-icon-file-picture-o:before{content:"\f1c5"}.uk-icon-file-archive-o:before,.uk-icon-file-zip-o:before{content:"\f1c6"}.uk-icon-file-audio-o:before,.uk-icon-file-sound-o:before{content:"\f1c7"}.uk-icon-file-movie-o:before,.uk-icon-file-video-o:before{content:"\f1c8"}.uk-icon-file-code-o:before{content:"\f1c9"}.uk-icon-vine:before{content:"\f1ca"}.uk-icon-codepen:before{content:"\f1cb"}.uk-icon-jsfiddle:before{content:"\f1cc"}.uk-icon-life-bouy:before,.uk-icon-life-buoy:before,.uk-icon-life-ring:before,.uk-icon-life-saver:before,.uk-icon-support:before{content:"\f1cd"}.uk-icon-circle-o-notch:before{content:"\f1ce"}.uk-icon-ra:before,.uk-icon-rebel:before{content:"\f1d0"}.uk-icon-empire:before,.uk-icon-ge:before{content:"\f1d1"}.uk-icon-git-square:before{content:"\f1d2"}.uk-icon-git:before{content:"\f1d3"}.uk-icon-hacker-news:before{content:"\f1d4"}.uk-icon-tencent-weibo:before{content:"\f1d5"}.uk-icon-qq:before{content:"\f1d6"}.uk-icon-wechat:before,.uk-icon-weixin:before{content:"\f1d7"}.uk-icon-paper-plane:before,.uk-icon-send:before{content:"\f1d8"}.uk-icon-paper-plane-o:before,.uk-icon-send-o:before{content:"\f1d9"}.uk-icon-history:before{content:"\f1da"}.uk-icon-circle-thin:before,.uk-icon-genderless:before{content:"\f1db"}.uk-icon-header:before{content:"\f1dc"}.uk-icon-paragraph:before{content:"\f1dd"}.uk-icon-sliders:before{content:"\f1de"}.uk-icon-share-alt:before{content:"\f1e0"}.uk-icon-share-alt-square:before{content:"\f1e1"}.uk-icon-bomb:before{content:"\f1e2"}.uk-icon-futbol-o:before,.uk-icon-soccer-ball-o:before{content:"\f1e3"}.uk-icon-tty:before{content:"\f1e4"}.uk-icon-binoculars:before{content:"\f1e5"}.uk-icon-plug:before{content:"\f1e6"}.uk-icon-slideshare:before{content:"\f1e7"}.uk-icon-twitch:before{content:"\f1e8"}.uk-icon-yelp:before{content:"\f1e9"}.uk-icon-newspaper-o:before{content:"\f1ea"}.uk-icon-wifi:before{content:"\f1eb"}.uk-icon-calculator:before{content:"\f1ec"}.uk-icon-paypal:before{content:"\f1ed"}.uk-icon-google-wallet:before{content:"\f1ee"}.uk-icon-cc-visa:before{content:"\f1f0"}.uk-icon-cc-mastercard:before{content:"\f1f1"}.uk-icon-cc-discover:before{content:"\f1f2"}.uk-icon-cc-amex:before{content:"\f1f3"}.uk-icon-cc-paypal:before{content:"\f1f4"}.uk-icon-cc-stripe:before{content:"\f1f5"}.uk-icon-bell-slash:before{content:"\f1f6"}.uk-icon-bell-slash-o:before{content:"\f1f7"}.uk-icon-trash:before{content:"\f1f8"}.uk-icon-copyright:before{content:"\f1f9"}.uk-icon-at:before{content:"\f1fa"}.uk-icon-eyedropper:before{content:"\f1fb"}.uk-icon-paint-brush:before{content:"\f1fc"}.uk-icon-birthday-cake:before{content:"\f1fd"}.uk-icon-area-chart:before{content:"\f1fe"}.uk-icon-pie-chart:before{content:"\f200"}.uk-icon-line-chart:before{content:"\f201"}.uk-icon-lastfm:before{content:"\f202"}.uk-icon-lastfm-square:before{content:"\f203"}.uk-icon-toggle-off:before{content:"\f204"}.uk-icon-toggle-on:before{content:"\f205"}.uk-icon-bicycle:before{content:"\f206"}.uk-icon-bus:before{content:"\f207"}.uk-icon-ioxhost:before{content:"\f208"}.uk-icon-angellist:before{content:"\f209"}.uk-icon-cc:before{content:"\f20a"}.uk-icon-ils:before,.uk-icon-shekel:before,.uk-icon-sheqel:before{content:"\f20b"}.uk-icon-meanpath:before{content:"\f20c"}.uk-icon-buysellads:before{content:"\f20d"}.uk-icon-connectdevelop:before{content:"\f20e"}.uk-icon-dashcube:before{content:"\f210"}.uk-icon-forumbee:before{content:"\f211"}.uk-icon-leanpub:before{content:"\f212"}.uk-icon-sellsy:before{content:"\f213"}.uk-icon-shirtsinbulk:before{content:"\f214"}.uk-icon-simplybuilt:before{content:"\f215"}.uk-icon-skyatlas:before{content:"\f216"}.uk-icon-cart-plus:before{content:"\f217"}.uk-icon-cart-arrow-down:before{content:"\f218"}.uk-icon-diamond:before{content:"\f219"}.uk-icon-ship:before{content:"\f21a"}.uk-icon-user-secret:before{content:"\f21b"}.uk-icon-motorcycle:before{content:"\f21c"}.uk-icon-street-view:before{content:"\f21d"}.uk-icon-heartbeat:before{content:"\f21e"}.uk-icon-venus:before{content:"\f221"}.uk-icon-mars:before{content:"\f222"}.uk-icon-mercury:before{content:"\f223"}.uk-icon-transgender:before{content:"\f224"}.uk-icon-transgender-alt:before{content:"\f225"}.uk-icon-venus-double:before{content:"\f226"}.uk-icon-mars-double:before{content:"\f227"}.uk-icon-venus-mars:before{content:"\f228"}.uk-icon-mars-stroke:before{content:"\f229"}.uk-icon-mars-stroke-v:before{content:"\f22a"}.uk-icon-mars-stroke-h:before{content:"\f22b"}.uk-icon-neuter:before{content:"\f22c"}.uk-icon-facebook-official:before{content:"\f230"}.uk-icon-pinterest-p:before{content:"\f231"}.uk-icon-whatsapp:before{content:"\f232"}.uk-icon-server:before{content:"\f233"}.uk-icon-user-plus:before{content:"\f234"}.uk-icon-user-times:before{content:"\f235"}.uk-icon-bed:before,.uk-icon-hotel:before{content:"\f236"}.uk-icon-viacoin:before{content:"\f237"}.uk-icon-train:before{content:"\f238"}.uk-icon-subway:before{content:"\f239"}.uk-icon-medium-logo:before{content:"\f23a"}.uk-icon-500px:before{content:"\f26e"}.uk-icon-amazon:before{content:"\f270"}.uk-icon-balance-scale:before{content:"\f24e"}.uk-icon-battery-0:before,.uk-icon-battery-empty:before{content:"\f244"}.uk-icon-battery-1:before,.uk-icon-battery-quarter:before{content:"\f243"}.uk-icon-battery-2:before,.uk-icon-battery-half:before{content:"\f242"}.uk-icon-battery-3:before,.uk-icon-battery-three-quarters:before{content:"\f241"}.uk-icon-battery-4:before,.uk-icon-battery-full:before{content:"\f240"}.uk-icon-black-tie:before{content:"\f27e"}.uk-icon-calendar-check-o:before{content:"\f274"}.uk-icon-calendar-minus-o:before{content:"\f272"}.uk-icon-calendar-plus-o:before{content:"\f271"}.uk-icon-calendar-times-o:before{content:"\f273"}.uk-icon-cc-diners-club:before{content:"\f24c"}.uk-icon-cc-jcb:before{content:"\f24b"}.uk-icon-chrome:before{content:"\f268"}.uk-icon-clone:before{content:"\f24d"}.uk-icon-commenting:before{content:"\f27a"}.uk-icon-commenting-o:before{content:"\f27b"}.uk-icon-contao:before{content:"\f26d"}.uk-icon-creative-commons:before{content:"\f25e"}.uk-icon-expeditedssl:before{content:"\f23e"}.uk-icon-firefox:before{content:"\f269"}.uk-icon-fonticons:before{content:"\f280"}.uk-icon-get-pocket:before{content:"\f265"}.uk-icon-gg:before{content:"\f260"}.uk-icon-gg-circle:before{content:"\f261"}.uk-icon-hand-lizard-o:before{content:"\f258"}.uk-icon-hand-paper-o:before,.uk-icon-hand-stop-o:before{content:"\f256"}.uk-icon-hand-peace-o:before{content:"\f25b"}.uk-icon-hand-pointer-o:before{content:"\f25a"}.uk-icon-hand-grab-o:before,.uk-icon-hand-rock-o:before{content:"\f255"}.uk-icon-hand-scissors-o:before{content:"\f257"}.uk-icon-hand-spock-o:before{content:"\f259"}.uk-icon-hourglass:before{content:"\f254"}.uk-icon-hourglass-o:before{content:"\f250"}.uk-icon-hourglass-1:before,.uk-icon-hourglass-start:before{content:"\f251"}.uk-icon-hourglass-2:before,.uk-icon-hourglass-half:before{content:"\f252"}.uk-icon-hourglass-3:before,.uk-icon-hourglass-end:before{content:"\f253"}.uk-icon-houzz:before{content:"\f27c"}.uk-icon-i-cursor:before{content:"\f246"}.uk-icon-industry:before{content:"\f275"}.uk-icon-internet-explorer:before{content:"\f26b"}.uk-icon-map:before{content:"\f279"}.uk-icon-map-o:before{content:"\f278"}.uk-icon-map-pin:before{content:"\f276"}.uk-icon-map-signs:before{content:"\f277"}.uk-icon-mouse-pointer:before{content:"\f245"}.uk-icon-object-group:before{content:"\f247"}.uk-icon-object-ungroup:before{content:"\f248"}.uk-icon-odnoklassniki:before{content:"\f263"}.uk-icon-odnoklassniki-square:before{content:"\f264"}.uk-icon-opencart:before{content:"\f23d"}.uk-icon-opera:before{content:"\f26a"}.uk-icon-optin-monster:before{content:"\f23c"}.uk-icon-registered:before{content:"\f25d"}.uk-icon-safari:before{content:"\f267"}.uk-icon-sticky-note:before{content:"\f249"}.uk-icon-sticky-note-o:before{content:"\f24a"}.uk-icon-television:before,.uk-icon-tv:before{content:"\f26c"}.uk-icon-trademark:before{content:"\f25c"}.uk-icon-tripadvisor:before{content:"\f262"}.uk-icon-vimeo:before{content:"\f27d"}.uk-icon-wikipedia-w:before{content:"\f266"}.uk-icon-y-combinator:before,.uk-icon-yc:before{content:"\f23b"}.uk-icon-y-combinator-square:before,.uk-icon-yc-square:before{content:"\f1d4"}.uk-icon-bluetooth:before{content:"\f293"}.uk-icon-bluetooth-b:before{content:"\f294"}.uk-icon-codiepie:before{content:"\f284"}.uk-icon-credit-card-alt:before{content:"\f283"}.uk-icon-edge:before{content:"\f282"}.uk-icon-fort-awesome:before{content:"\f286"}.uk-icon-hashtag:before{content:"\f292"}.uk-icon-mixcloud:before{content:"\f289"}.uk-icon-modx:before{content:"\f285"}.uk-icon-pause-circle:before{content:"\f28b"}.uk-icon-pause-circle-o:before{content:"\f28c"}.uk-icon-percent:before{content:"\f295"}.uk-icon-product-hunt:before{content:"\f288"}.uk-icon-reddit-alien:before{content:"\f281"}.uk-icon-scribd:before{content:"\f28a"}.uk-icon-shopping-bag:before{content:"\f290"}.uk-icon-shopping-basket:before{content:"\f291"}.uk-icon-stop-circle:before{content:"\f28d"}.uk-icon-stop-circle-o:before{content:"\f28e"}.uk-icon-usb:before{content:"\f287"}.uk-close::-moz-focus-inner{border:0;padding:0}.uk-close{border:none;font:inherit;color:inherit;padding:0;background:0 0;box-sizing:content-box;width:20px;line-height:20px}.uk-close:after{display:block}.uk-close:focus,.uk-close:hover{outline:0;color:inherit;text-decoration:none;cursor:pointer}.uk-badge,a.uk-badge:hover{color:#fff}.uk-close-alt{padding:2px;border-radius:50%;background:#eee;opacity:1}.uk-close-alt:after{opacity:.5}.uk-close-alt:focus:after,.uk-close-alt:hover:after{opacity:.8}.uk-badge{display:inline-block;text-align:center;text-transform:none}.uk-badge-notification{box-sizing:border-box;min-width:18px;font-size:12px;line-height:18px}.uk-badge-success{background-color:#8cc14c}.uk-badge-warning{background-color:#faa732}.uk-badge-danger{background-color:#da314b}.uk-alert{margin-bottom:15px;padding:10px}*+.uk-alert{margin-top:15px}.uk-alert>:last-child{margin-bottom:0}.uk-alert h1,.uk-alert h2,.uk-alert h3,.uk-alert h4,.uk-alert h5,.uk-alert h6{color:inherit}.uk-alert>.uk-close:first-child+*{margin-top:0}.uk-alert-success{color:#659f13}.uk-alert-warning{color:#e28327}.uk-alert-danger{color:#d85030}.uk-alert-large>.uk-close:first-child{margin:-10px -10px 0 0}.uk-overlay,.uk-thumbnail{margin:0;display:inline-block;max-width:100%}.uk-overlay-area-content>:last-child,.uk-overlay-panel.uk-flex>*>:last-child,.uk-overlay-panel>:last-child,.uk-overlay>:first-child{margin-bottom:0}.uk-thumbnail{box-sizing:border-box;padding:4px;border:1px solid #ddd;background:#fff}a.uk-thumbnail:focus,a.uk-thumbnail:hover{border-color:#aaa;background-color:#fff;text-decoration:none;outline:0}.uk-thumbnail-caption{padding-top:4px;text-align:center}.uk-thumbnail-mini{width:150px}.uk-thumbnail-small{width:200px}.uk-thumbnail-medium{width:300px}.uk-thumbnail-large{width:400px}.uk-thumbnail-expand,.uk-thumbnail-expand>img{width:100%}.uk-overlay{position:relative;overflow:hidden;-webkit-transform:translateZ(0)}.uk-overlay-area:empty:before,.uk-overlay-icon:before{content:"\f002";width:50px;height:50px;margin-top:-25px;margin-left:-25px;font-size:50px;line-height:1;text-align:center;font-family:FontAwesome}.uk-overlay.uk-border-circle{-webkit-mask-image:-webkit-radial-gradient(circle,#fff 100%,#000 100%)}.uk-overlay-panel{position:absolute;top:0;bottom:0;left:0;right:0;padding:20px;color:#fff}.uk-overlay-panel a[class*=uk-icon-]:not(.uk-icon-button),.uk-overlay-panel h1,.uk-overlay-panel h2,.uk-overlay-panel h3,.uk-overlay-panel h4,.uk-overlay-panel h5,.uk-overlay-panel h6{color:inherit}.uk-overlay-panel a:not([class]){color:inherit;text-decoration:underline}.uk-overlay-active :not(.uk-active)>.uk-overlay-panel:not(.uk-ignore),.uk-overlay-hover:not(:hover):not(.uk-hover) .uk-overlay-panel:not(.uk-ignore){opacity:0}.uk-overlay-background{background:rgba(0,0,0,.5)}.uk-overlay-image{padding:0}.uk-overlay-top{bottom:auto}.uk-overlay-bottom{top:auto}.uk-overlay-left{right:auto}.uk-overlay-right{left:auto}.uk-overlay-icon:before{position:absolute;top:50%;left:50%;color:#fff}.uk-overlay-blur,.uk-overlay-fade,.uk-overlay-grayscale,.uk-overlay-scale,.uk-overlay-spin,[class*=uk-overlay-slide]{transition-duration:.3s;transition-timing-function:ease-out;transition-property:opacity,transform,filter}.uk-overlay-active .uk-overlay-fade,.uk-overlay-active .uk-overlay-scale,.uk-overlay-active .uk-overlay-spin,.uk-overlay-active [class*=uk-overlay-slide]{transition-duration:.8s}.uk-overlay-fade{opacity:.7}.uk-overlay-active .uk-active>.uk-overlay-fade,.uk-overlay-hover.uk-hover .uk-overlay-fade,.uk-overlay-hover:hover .uk-overlay-fade{opacity:1}.uk-overlay-scale{-webkit-transform:scale(1);transform:scale(1)}.uk-overlay-active .uk-active>.uk-overlay-scale,.uk-overlay-hover.uk-hover .uk-overlay-scale,.uk-overlay-hover:hover .uk-overlay-scale{-webkit-transform:scale(1.1);transform:scale(1.1)}.uk-overlay-spin{-webkit-transform:scale(1) rotate(0);transform:scale(1) rotate(0)}.uk-overlay-active .uk-active>.uk-overlay-spin,.uk-overlay-hover.uk-hover .uk-overlay-spin,.uk-overlay-hover:hover .uk-overlay-spin{-webkit-transform:scale(1.1) rotate(3deg);transform:scale(1.1) rotate(3deg)}.uk-overlay-grayscale{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.uk-overlay-active .uk-active>.uk-overlay-grayscale,.uk-overlay-hover.uk-hover .uk-overlay-grayscale,.uk-overlay-hover:hover .uk-overlay-grayscale{-webkit-filter:grayscale(0);filter:grayscale(0)}[class*=uk-overlay-slide]{opacity:0}.uk-overlay-slide-top{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.uk-overlay-slide-bottom{-webkit-transform:translateY(100%);transform:translateY(100%)}.uk-overlay-slide-left{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.uk-overlay-slide-right{-webkit-transform:translateX(100%);transform:translateX(100%)}.uk-overlay-active .uk-active>[class*=uk-overlay-slide],.uk-overlay-hover.uk-hover [class*=uk-overlay-slide],.uk-overlay-hover:hover [class*=uk-overlay-slide]{opacity:1;-webkit-transform:translateX(0) translateY(0);transform:translateX(0) translateY(0)}.uk-overlay-area,.uk-overlay-caption{-webkit-transform:translate3d(0,0,0);position:absolute;right:0;bottom:0}.uk-overlay-area{top:0;left:0;background:rgba(0,0,0,.3);opacity:0;transition:opacity .15s linear}.uk-overlay-toggle.uk-hover .uk-overlay-area,.uk-overlay-toggle:hover .uk-overlay-area,.uk-overlay.uk-hover .uk-overlay-area,.uk-overlay:hover .uk-overlay-area{opacity:1}.uk-overlay-area:empty:before{position:absolute;top:50%;left:50%;color:#fff}.uk-overlay-area:not(:empty){font-size:0}.uk-overlay-area:not(:empty):before{content:'';display:inline-block;height:100%;vertical-align:middle}.uk-overlay-area-content{display:inline-block;box-sizing:border-box;width:100%;font-size:1rem;text-align:center;padding:0 15px;color:#fff}.uk-overlay-area-content a:not([class]),.uk-overlay-area-content a:not([class]):hover{color:inherit}.uk-overlay-caption{left:0;padding:15px;background:rgba(0,0,0,.5);color:#fff;opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.uk-overlay-toggle.uk-hover .uk-overlay-caption,.uk-overlay-toggle:hover .uk-overlay-caption,.uk-overlay.uk-hover .uk-overlay-caption,.uk-overlay:hover .uk-overlay-caption{opacity:1}[class*=uk-column-]{-webkit-column-gap:25px;-moz-column-gap:25px;column-gap:25px}.uk-column-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}@media (min-width:480px){.uk-column-small-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-small-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-small-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-small-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-small-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}}@media (min-width:768px){.uk-column-medium-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-medium-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-medium-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-medium-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-medium-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}}@media (min-width:960px){.uk-column-large-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-large-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-large-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-large-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-large-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}}[class*=uk-animation-]{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}@media screen{[data-uk-scrollspy*=uk-animation-]:not([data-uk-scrollspy*=target]){opacity:0}}.uk-animation-fade{-webkit-animation-name:uk-fade;animation-name:uk-fade;-webkit-animation-duration:.8s;animation-duration:.8s;-webkit-animation-timing-function:linear!important;animation-timing-function:linear!important}.uk-animation-scale-up{-webkit-animation-name:uk-fade-scale-02;animation-name:uk-fade-scale-02}.uk-animation-scale-down{-webkit-animation-name:uk-fade-scale-18;animation-name:uk-fade-scale-18}.uk-animation-slide-top{-webkit-animation-name:uk-fade-top;animation-name:uk-fade-top}.uk-animation-slide-bottom{-webkit-animation-name:uk-fade-bottom;animation-name:uk-fade-bottom}.uk-animation-slide-left{-webkit-animation-name:uk-fade-left;animation-name:uk-fade-left}.uk-animation-slide-right{-webkit-animation-name:uk-fade-right;animation-name:uk-fade-right}.uk-animation-scale{-webkit-animation-name:uk-scale-12;animation-name:uk-scale-12}.uk-animation-shake{-webkit-animation-name:uk-shake;animation-name:uk-shake}.uk-animation-reverse{-webkit-animation-direction:reverse;animation-direction:reverse;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}.uk-animation-15{-webkit-animation-duration:15s;animation-duration:15s}.uk-animation-top-left{-webkit-transform-origin:0 0;transform-origin:0 0}.uk-animation-top-center{-webkit-transform-origin:50% 0;transform-origin:50% 0}.uk-animation-top-right{-webkit-transform-origin:100% 0;transform-origin:100% 0}.uk-animation-middle-left{-webkit-transform-origin:0 50%;transform-origin:0 50%}.uk-animation-middle-right{-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.uk-animation-bottom-left{-webkit-transform-origin:0 100%;transform-origin:0 100%}.uk-animation-bottom-center{-webkit-transform-origin:50% 100%;transform-origin:50% 100%}.uk-animation-bottom-right{-webkit-transform-origin:100% 100%;transform-origin:100% 100%}.uk-animation-hover:not(:hover),.uk-animation-hover:not(:hover) [class*=uk-animation-],.uk-touch .uk-animation-hover:not(.uk-hover),.uk-touch .uk-animation-hover:not(.uk-hover) [class*=uk-animation-]{-webkit-animation-name:none;animation-name:none}@-webkit-keyframes uk-fade{0%{opacity:0}100%{opacity:1}}@keyframes uk-fade{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes uk-fade-top{0%{opacity:0;-webkit-transform:translateY(-100%)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-fade-top{0%{opacity:0;transform:translateY(-100%)}100%{opacity:1;transform:translateY(0)}}@-webkit-keyframes uk-fade-bottom{0%{opacity:0;-webkit-transform:translateY(100%)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-fade-bottom{0%{opacity:0;transform:translateY(100%)}100%{opacity:1;transform:translateY(0)}}@-webkit-keyframes uk-fade-left{0%{opacity:0;-webkit-transform:translateX(-100%)}100%{opacity:1;-webkit-transform:translateX(0)}}@keyframes uk-fade-left{0%{opacity:0;transform:translateX(-100%)}100%{opacity:1;transform:translateX(0)}}@-webkit-keyframes uk-fade-right{0%{opacity:0;-webkit-transform:translateX(100%)}100%{opacity:1;-webkit-transform:translateX(0)}}@keyframes uk-fade-right{0%{opacity:0;transform:translateX(100%)}100%{opacity:1;transform:translateX(0)}}@-webkit-keyframes uk-fade-scale-02{0%{opacity:0;-webkit-transform:scale(.2)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes uk-fade-scale-02{0%{opacity:0;transform:scale(.2)}100%{opacity:1;transform:scale(1)}}@-webkit-keyframes uk-fade-scale-15{0%{opacity:0;-webkit-transform:scale(1.5)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes uk-fade-scale-15{0%{opacity:0;transform:scale(1.5)}100%{opacity:1;transform:scale(1)}}@-webkit-keyframes uk-fade-scale-18{0%{opacity:0;-webkit-transform:scale(1.8)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes uk-fade-scale-18{0%{opacity:0;transform:scale(1.8)}100%{opacity:1;transform:scale(1)}}@-webkit-keyframes uk-slide-left{0%{-webkit-transform:translateX(-100%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-left{0%{transform:translateX(-100%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-slide-right{0%{-webkit-transform:translateX(100%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-right{0%{transform:translateX(100%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-slide-left-33{0%{-webkit-transform:translateX(33%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-left-33{0%{transform:translateX(33%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-slide-right-33{0%{-webkit-transform:translateX(-33%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-right-33{0%{transform:translateX(-33%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-scale-12{0%{-webkit-transform:scale(1.2)}100%{-webkit-transform:scale(1)}}@keyframes uk-scale-12{0%{transform:scale(1.2)}100%{transform:scale(1)}}@-webkit-keyframes uk-rotate{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(359deg)}}@keyframes uk-rotate{0%{transform:rotate(0)}100%{transform:rotate(359deg)}}@-webkit-keyframes uk-shake{0%,100%{-webkit-transform:translateX(0)}10%{-webkit-transform:translateX(-9px)}20%{-webkit-transform:translateX(8px)}30%{-webkit-transform:translateX(-7px)}40%{-webkit-transform:translateX(6px)}50%{-webkit-transform:translateX(-5px)}60%{-webkit-transform:translateX(4px)}70%{-webkit-transform:translateX(-3px)}80%{-webkit-transform:translateX(2px)}90%{-webkit-transform:translateX(-1px)}}@keyframes uk-shake{0%,100%{transform:translateX(0)}10%{transform:translateX(-9px)}20%{transform:translateX(8px)}30%{transform:translateX(-7px)}40%{transform:translateX(6px)}50%{transform:translateX(-5px)}60%{transform:translateX(4px)}70%{transform:translateX(-3px)}80%{transform:translateX(2px)}90%{transform:translateX(-1px)}}@-webkit-keyframes uk-slide-top-fixed{0%{opacity:0;-webkit-transform:translateY(-10px)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-slide-top-fixed{0%{opacity:0;transform:translateY(-10px)}100%{opacity:1;transform:translateY(0)}}@-webkit-keyframes uk-slide-bottom-fixed{0%{opacity:0;-webkit-transform:translateY(10px)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-slide-bottom-fixed{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:translateY(0)}}.uk-dropdown,.uk-dropdown-blank{display:none;position:absolute;z-index:1020;box-sizing:border-box;width:200px}.uk-dropdown{padding:15px;background:#f5f5f5;color:#444;font-size:1rem;vertical-align:top}.uk-open>.uk-dropdown,.uk-open>.uk-dropdown-blank{display:block;-webkit-animation:uk-fade .2s ease-in-out;animation:uk-fade .2s ease-in-out;-webkit-transform-origin:0 0;transform-origin:0 0}.uk-dropdown-top{margin-top:-5px}.uk-dropdown-bottom{margin-top:5px}.uk-dropdown-left{margin-left:-5px}.uk-dropdown-right{margin-left:5px}.uk-dropdown .uk-nav{margin:0 -15px}.uk-dropdown-grid>[class*=uk-width-]>.uk-panel+.uk-panel,.uk-dropdown-stack>.uk-dropdown-grid>[class*=uk-width-]:nth-child(n+2),.uk-grid .uk-dropdown-grid+.uk-dropdown-grid{margin-top:15px}@media (min-width:768px){.uk-dropdown:not(.uk-dropdown-stack)>.uk-dropdown-grid{margin-left:-15px;margin-right:-15px}.uk-dropdown:not(.uk-dropdown-stack)>.uk-dropdown-grid>[class*=uk-width-]{padding-left:15px;padding-right:15px}.uk-dropdown:not(.uk-dropdown-stack)>.uk-dropdown-grid>[class*=uk-width-]:nth-child(n+2){border-left:1px solid #ddd}.uk-dropdown-width-2:not(.uk-dropdown-stack){width:400px}.uk-dropdown-width-3:not(.uk-dropdown-stack){width:600px}.uk-dropdown-width-4:not(.uk-dropdown-stack){width:800px}.uk-dropdown-width-5:not(.uk-dropdown-stack){width:1000px}}@media (max-width:767px){.uk-dropdown-grid>[class*=uk-width-]{width:100%}.uk-dropdown-grid>[class*=uk-width-]:nth-child(n+2){margin-top:15px}}.uk-dropdown-stack>.uk-dropdown-grid>[class*=uk-width-]{width:100%}.uk-dropdown-small{min-width:150px;width:auto;padding:5px;white-space:nowrap}.uk-dropdown-small .uk-nav{margin:0 -5px}.uk-dropdown-navbar{margin-top:0;background:#f5f5f5;color:#444}.uk-open>.uk-dropdown-navbar{-webkit-animation:uk-slide-top-fixed .2s ease-in-out;animation:uk-slide-top-fixed .2s ease-in-out}.uk-dropdown-scrollable{overflow-y:auto;max-height:200px}.uk-modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:auto;-webkit-overflow-scrolling:touch;opacity:0;touch-action:cross-slide-y pinch-zoom double-tap-zoom;-webkit-transform:translateZ(0);transform:translateZ(0)}.uk-modal.uk-open{opacity:1}.uk-modal-page,.uk-modal-page body{overflow:hidden}.uk-modal-dialog{position:relative;box-sizing:border-box;margin:50px auto;width:600px;max-width:100%;max-width:calc(100% - 20px);background:#fff;opacity:0;-webkit-transform:translateY(-100px);transform:translateY(-100px)}@media (max-width:767px){.uk-modal-dialog{width:auto;margin:10px auto}.uk-modal-dialog-lightbox>.uk-close:first-child{top:-7px;right:-7px}}.uk-open .uk-modal-dialog{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}.uk-modal-dialog>:not([class*=uk-modal-]):last-child{margin-bottom:0}.uk-modal-dialog>.uk-close:first-child+:not([class*=uk-modal-]){margin-top:0}.uk-modal-dialog-lightbox{margin:15px auto;max-width:95%;max-width:calc(100% - 30px)}.uk-modal-dialog-lightbox>.uk-close:first-child{position:absolute;margin:0;float:none}.uk-modal-dialog-blank{margin:0;padding:0;width:100%;max-width:100%;-webkit-transition:opacity .3s linear;transition:opacity .3s linear}.uk-modal-dialog-blank>.uk-close:first-child{position:absolute;top:20px;right:20px;z-index:1;margin:0;float:none}@media (min-width:768px){.uk-modal-dialog-large{width:930px}}@media (min-width:1220px){.uk-column-xlarge-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-xlarge-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-xlarge-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-xlarge-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-xlarge-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}.uk-modal-dialog-large{width:1130px}}.uk-modal-header{margin-bottom:15px}.uk-modal-footer{margin-top:15px}.uk-modal-footer>:last-child,.uk-modal-header>:last-child{margin-bottom:0}.uk-modal-caption{position:absolute;left:0;right:0;bottom:-20px;margin-bottom:-10px;color:#fff;text-align:center;overflow:hidden}.uk-modal-spinner{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);font-size:25px;color:#ddd}.uk-offcanvas,.uk-offcanvas-bar{position:fixed;left:0;top:0;bottom:0}.uk-modal-spinner:after{content:"\f110";font-family:FontAwesome;-webkit-animation:uk-rotate 2s infinite linear;animation:uk-rotate 2s infinite linear}.uk-clearfix:after,.uk-clearfix:before,.uk-container:after,.uk-container:before{content:""}.uk-offcanvas{display:none;right:0;z-index:1000;touch-action:none;background:rgba(0,0,0,.1)}.uk-offcanvas.uk-active{display:block}.uk-offcanvas-page{position:fixed;-webkit-transition:margin-left .3s ease-in-out;transition:margin-left .3s ease-in-out}.uk-offcanvas-bar{-webkit-transform:translateX(-100%);transform:translateX(-100%);z-index:1001;width:270px;max-width:100%;background:#333;overflow-y:auto;-webkit-overflow-scrolling:touch;-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;-ms-scroll-chaining:none}.uk-offcanvas.uk-active .uk-offcanvas-bar.uk-offcanvas-bar-show{-webkit-transform:translateX(0);transform:translateX(0)}.uk-offcanvas-bar-flip{left:auto;right:0;-webkit-transform:translateX(100%);transform:translateX(100%)}.uk-offcanvas .uk-panel{margin:20px 15px;color:#777}.uk-offcanvas .uk-panel a:not([class]),.uk-offcanvas .uk-panel-title{color:#ccc}.uk-offcanvas .uk-panel a:not([class]):hover{color:#fff}.uk-switcher{margin:0;padding:0;list-style:none;touch-action:cross-slide-y pinch-zoom double-tap-zoom}.uk-switcher>:not(.uk-active){display:none}.uk-text-small{line-height:16px}.uk-text-large{font-size:18px;line-height:24px;font-weight:400}.uk-text-bold{font-weight:700}.uk-text-contrast{color:#fff!important}.uk-text-left{text-align:left!important}.uk-text-right{text-align:right!important}.uk-text-center{text-align:center!important}.uk-text-justify{text-align:justify!important}.uk-text-top{vertical-align:top!important}.uk-text-middle{vertical-align:middle!important}.uk-text-bottom{vertical-align:bottom!important}@media (max-width:959px){.uk-text-center-medium{text-align:center!important}.uk-text-left-medium{text-align:left!important}}.uk-text-nowrap{white-space:nowrap}.uk-text-truncate{overflow:hidden}.uk-text-break{-webkit-hyphens:auto;-ms-hyphens:auto;-moz-hyphens:auto;hyphens:auto}.uk-container{box-sizing:border-box;max-width:980px;padding:0 25px}@media (min-width:1220px){.uk-container{max-width:1200px;padding:0 35px}}.uk-container:after,.uk-container:before{display:table}.uk-container-center{margin-left:auto;margin-right:auto}.uk-clearfix:before{display:table-cell}.uk-clearfix:after{display:table}.uk-nbfc{overflow:hidden}.uk-nbfc-alt{display:table-cell;width:10000px}.uk-float-left{float:left}.uk-float-right{float:right}[class*=uk-float-]{max-width:100%}[class*=uk-align-]{display:block;margin-bottom:15px}.uk-align-left{margin-right:15px;float:left}.uk-align-right{margin-left:15px;float:right}@media (min-width:768px){.uk-align-medium-left{margin-right:15px;float:left}.uk-align-medium-right{margin-left:15px;float:right}}.uk-align-center{margin-left:auto;margin-right:auto}.uk-vertical-align{font-size:0}.uk-vertical-align:before{content:'';display:inline-block;height:100%;vertical-align:middle}.uk-vertical-align-bottom,.uk-vertical-align-middle{display:inline-block;max-width:100%;font-size:1rem}.uk-vertical-align-middle{vertical-align:middle}.uk-vertical-align-bottom{vertical-align:bottom}[class*=uk-height]{box-sizing:border-box}.uk-height-1-1{height:100%}.uk-height-viewport{height:100vh;min-height:600px}.uk-nestable-empty,.uk-sortable-empty{min-height:30px}.uk-responsive-height,.uk-responsive-width{box-sizing:border-box}.uk-responsive-width{max-width:100%!important;height:auto}.uk-responsive-height{max-height:100%;width:auto}.uk-margin{margin-bottom:15px}*+.uk-margin{margin-top:15px}.uk-margin-top{margin-top:15px!important}.uk-margin-left{margin-left:15px!important}.uk-margin-right{margin-right:15px!important}.uk-margin-large{margin-bottom:50px}*+.uk-margin-large{margin-top:50px}.uk-margin-large-left{margin-left:50px!important}.uk-margin-large-right{margin-right:50px!important}.uk-margin-small{margin-bottom:5px}*+.uk-margin-small{margin-top:5px}.uk-margin-small-top{margin-top:5px!important}.uk-margin-small-left{margin-left:5px!important}.uk-margin-small-right{margin-right:5px!important}.uk-margin-remove{margin:0!important}.uk-margin-top-remove{margin-top:0!important}.uk-margin-bottom-remove{margin-bottom:0!important}.uk-overflow-container>:last-child,.uk-scrollable-box>:last-child{margin-bottom:0}.uk-padding-remove{padding:0!important}.uk-padding-top-remove{padding-top:0!important}.uk-padding-bottom-remove{padding-bottom:0!important}.uk-padding-vertical-remove{padding-top:0!important;padding-bottom:0!important}.uk-border-circle{border-radius:50%}.uk-border-rounded{border-radius:5px}.uk-heading-large{font-size:36px;line-height:42px}.uk-link-muted,.uk-link-muted a,.uk-link-muted a:hover,.uk-link-muted:hover{color:#444}.uk-link-reset,.uk-link-reset a,.uk-link-reset a:focus,.uk-link-reset a:hover,.uk-link-reset:focus,.uk-link-reset:hover{color:inherit;text-decoration:none}.uk-scrollable-text{height:300px;overflow-y:scroll;-webkit-overflow-scrolling:touch;resize:both}.uk-scrollable-box{box-sizing:border-box;height:170px;padding:10px;border:1px solid #ddd;overflow:auto;-webkit-overflow-scrolling:touch;resize:both}.uk-contrast .uk-nav-side .uk-nav-divider,.uk-contrast hr{border-top-color:rgba(255,255,255,.2)}.uk-overflow-hidden{overflow:hidden}.uk-overflow-container{overflow:auto;-webkit-overflow-scrolling:touch}.uk-position-absolute,[class*=uk-position-top],[class*=uk-position-bottom]{position:absolute!important}.uk-position-top{top:0;left:0;right:0}.uk-position-bottom{bottom:0;left:0;right:0}.uk-position-top-left{top:0;left:0}.uk-position-top-right{top:0;right:0}.uk-position-bottom-left{bottom:0;left:0}.uk-position-bottom-right{bottom:0;right:0}.uk-position-cover{position:absolute;top:0;bottom:0;left:0;right:0}.uk-position-relative{position:relative!important}.uk-position-z-index{z-index:1}.uk-display-block{display:block!important}.uk-display-inline{display:inline!important}.uk-display-inline-block{display:inline-block!important;max-width:100%}@media (min-width:960px){.uk-hidden-large,.uk-visible-medium,.uk-visible-small{display:none!important}}@media (min-width:768px) and (max-width:959px){.uk-hidden-medium,.uk-visible-large,.uk-visible-small{display:none!important}}@media (max-width:767px){.uk-text-center-small{text-align:center!important}.uk-text-left-small{text-align:left!important}.uk-hidden-small,.uk-visible-large,.uk-visible-medium{display:none!important}}.uk-hidden{display:none!important}.uk-visible-hover:hover .uk-hidden,.uk-visible-hover:hover .uk-invisible{display:block!important;visibility:visible!important}.uk-visible-hover-inline:hover .uk-hidden,.uk-visible-hover-inline:hover .uk-invisible{display:inline-block!important;visibility:visible!important}.uk-notouch .uk-hidden-notouch,.uk-touch .uk-hidden-touch{display:none!important}.uk-flex{display:-ms-flexbox;display:-webkit-flex;display:flex}.uk-flex-inline{display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex}.uk-flex-inline>*,.uk-flex>*{-ms-flex-negative:1}.uk-flex-top{-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start}.uk-flex-middle{-ms-flex-align:center;-webkit-align-items:center;align-items:center}.uk-flex-bottom{-ms-flex-align:end;-webkit-align-items:flex-end;align-items:flex-end}.uk-flex-center{-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.uk-flex-right{-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.uk-flex-space-between{-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.uk-flex-space-around{-ms-flex-pack:distribute;-webkit-justify-content:space-around;justify-content:space-around}.uk-flex-row-reverse{-ms-flex-direction:row-reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse}.uk-flex-column{-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.uk-flex-column-reverse{-ms-flex-direction:column-reverse;-webkit-flex-direction:column-reverse;flex-direction:column-reverse}.uk-flex-nowrap{-ms-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;flex-wrap:nowrap}.uk-flex-wrap{-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.uk-flex-wrap-reverse{-ms-flex-wrap:wrap-reverse;-webkit-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.uk-flex-wrap-top{-ms-flex-line-pack:start;-webkit-align-content:flex-start;align-content:flex-start}.uk-flex-wrap-middle{-ms-flex-line-pack:center;-webkit-align-content:center;align-content:center}.uk-flex-wrap-bottom{-ms-flex-line-pack:end;-webkit-align-content:flex-end;align-content:flex-end}.uk-flex-wrap-space-between{-ms-flex-line-pack:justify;-webkit-align-content:space-between;align-content:space-between}.uk-flex-wrap-space-around{-ms-flex-line-pack:distribute;-webkit-align-content:space-around;align-content:space-around}.uk-flex-order-first{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last{-ms-flex-order:99;-webkit-order:99;order:99}@media (min-width:480px){.uk-flex-order-first-small{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-small{-ms-flex-order:99;-webkit-order:99;order:99}}@media (min-width:768px){.uk-heading-large{font-size:52px;line-height:64px}.uk-flex-order-first-medium{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-medium{-ms-flex-order:99;-webkit-order:99;order:99}}@media (min-width:960px){.uk-flex-order-first-large{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-large{-ms-flex-order:99;-webkit-order:99;order:99}}@media (min-width:1220px){.uk-flex-order-first-xlarge{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-xlarge{-ms-flex-order:99;-webkit-order:99;order:99}}.uk-flex-item-none{-ms-flex:none;-webkit-flex:none;flex:none}.uk-flex-item-auto{-ms-flex:auto;-webkit-flex:auto;flex:auto;-ms-flex-negative:1}.uk-flex-item-1{-ms-flex:1;-webkit-flex:1;flex:1}.uk-contrast{color:#fff}.uk-contrast .uk-link,.uk-contrast a:not([class]){color:rgba(255,255,255,.7);text-decoration:none}.uk-contrast .uk-link:hover,.uk-contrast a:not([class]):hover{color:#fff;text-decoration:underline}.uk-contrast :not(pre)>code,.uk-contrast :not(pre)>kbd,.uk-contrast :not(pre)>samp,.uk-contrast em,.uk-contrast h1,.uk-contrast h2,.uk-contrast h3,.uk-contrast h4,.uk-contrast h5,.uk-contrast h6{color:#fff}.uk-contrast .uk-nav li>a,.uk-contrast .uk-nav li>a:hover{text-decoration:none}.uk-contrast .uk-nav-side>li>a{color:#fff}.uk-contrast .uk-nav-side>li>a:focus,.uk-contrast .uk-nav-side>li>a:hover{background:rgba(255,255,255,.1);color:#fff}.uk-contrast .uk-nav-side>li.uk-active>a{background:#fff;color:#444}.uk-contrast .uk-nav-side .uk-nav-header{color:#fff}.uk-contrast .uk-nav-side ul a{color:rgba(255,255,255,.7)}.uk-contrast .uk-nav-side ul a:hover{color:#fff}.uk-contrast .uk-subnav>*>a{color:rgba(255,255,255,.7);text-decoration:none}.uk-contrast .uk-subnav>*>a:focus,.uk-contrast .uk-subnav>*>a:hover{color:#fff;text-decoration:none}.uk-contrast .uk-subnav>.uk-active>a{color:#fff}.uk-contrast .uk-subnav-line>:nth-child(n+2):before{border-left-color:rgba(255,255,255,.2)}.uk-contrast .uk-subnav-pill>*>a:focus,.uk-contrast .uk-subnav-pill>*>a:hover{background:rgba(255,255,255,.7);color:#444;text-decoration:none}.uk-contrast .uk-subnav-pill>.uk-active>a{background:#fff;color:#444}.uk-contrast .uk-tab{border-bottom-color:rgba(255,255,255,.2)}.uk-contrast .uk-tab>li>a{border-color:transparent;color:rgba(255,255,255,.7)}.uk-contrast .uk-tab>li.uk-open>a,.uk-contrast .uk-tab>li>a:focus,.uk-contrast .uk-tab>li>a:hover{border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.7);color:#444;text-decoration:none}.uk-contrast .uk-tab>li.uk-active>a{border-color:rgba(255,255,255,.2);border-bottom-color:transparent;background:#fff;color:#444}.uk-contrast .uk-tab-center{border-bottom-color:rgba(255,255,255,.2)}.uk-contrast .uk-list-line>li:nth-child(n+2),.uk-contrast .uk-tab-grid:before{border-top-color:rgba(255,255,255,.2)}.uk-contrast .uk-form input:not([type]),.uk-contrast .uk-form input[type=text],.uk-contrast .uk-form input[type=password],.uk-contrast .uk-form input[type=email],.uk-contrast .uk-form input[type=url],.uk-contrast .uk-form input[type=search],.uk-contrast .uk-form input[type=tel],.uk-contrast .uk-form input[type=number],.uk-contrast .uk-form input[type=datetime],.uk-contrast .uk-form input[type=datetime-local],.uk-contrast .uk-form input[type=date],.uk-contrast .uk-form input[type=month],.uk-contrast .uk-form input[type=time],.uk-contrast .uk-form input[type=week],.uk-contrast .uk-form input[type=color],.uk-contrast .uk-form select,.uk-contrast .uk-form textarea{border-color:rgba(255,255,255,.8);background:rgba(255,255,255,.8);color:#444;background-clip:padding-box}.uk-contrast .uk-form input:not([type]):focus,.uk-contrast .uk-form input[type=text]:focus,.uk-contrast .uk-form input[type=password]:focus,.uk-contrast .uk-form input[type=email]:focus,.uk-contrast .uk-form input[type=url]:focus,.uk-contrast .uk-form input[type=search]:focus,.uk-contrast .uk-form input[type=tel]:focus,.uk-contrast .uk-form input[type=number]:focus,.uk-contrast .uk-form input[type=datetime]:focus,.uk-contrast .uk-form input[type=datetime-local]:focus,.uk-contrast .uk-form input[type=date]:focus,.uk-contrast .uk-form input[type=month]:focus,.uk-contrast .uk-form input[type=time]:focus,.uk-contrast .uk-form input[type=week]:focus,.uk-contrast .uk-form input[type=color]:focus,.uk-contrast .uk-form select:focus,.uk-contrast .uk-form textarea:focus{border-color:#fff;background:#fff;color:#444}.uk-contrast .uk-form :-ms-input-placeholder{color:rgba(68,68,68,.7)!important}.uk-contrast .uk-form ::-moz-placeholder{color:rgba(68,68,68,.7)}.uk-contrast .uk-form ::-webkit-input-placeholder{color:rgba(68,68,68,.7)}.uk-contrast .uk-button{color:#444;background:#fff}.uk-contrast .uk-button:focus,.uk-contrast .uk-button:hover{background-color:rgba(255,255,255,.8);color:#444}.uk-contrast .uk-button.uk-active,.uk-contrast .uk-button:active{background-color:rgba(255,255,255,.7);color:#444}.uk-contrast .uk-button-primary{background-color:#00a8e6;color:#fff}.uk-contrast .uk-button-primary:focus,.uk-contrast .uk-button-primary:hover{background-color:#35b3ee;color:#fff}.uk-contrast .uk-button-primary.uk-active,.uk-contrast .uk-button-primary:active{background-color:#0091ca;color:#fff}.uk-contrast .uk-icon-hover{color:rgba(255,255,255,.7)}.uk-contrast .uk-icon-hover:hover{color:#fff}.uk-contrast .uk-icon-button{background:#fff;color:#444}.uk-contrast .uk-icon-button:focus,.uk-contrast .uk-icon-button:hover{background-color:rgba(255,255,255,.8);color:#444}.uk-contrast .uk-icon-button:active{background-color:rgba(255,255,255,.7);color:#444}.uk-contrast .uk-text-muted{color:rgba(255,255,255,.6)!important}.uk-contrast .uk-text-primary{color:#2d7091!important}@media print{blockquote,img,pre,tr{page-break-inside:avoid}*,:after,:before{background:0 0!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}blockquote,pre{border:1px solid #999}thead{display:table-header-group}img{max-width:100%!important}@page{margin:.5cm}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.uk-alert,.uk-badge{border:none;text-shadow:none}.uk-form-width-large,.uk-form-width-medium,.uk-form-width-mini,.uk-form-width-small,.uk-notify{max-width:100%}[class^=uk-animation-]{-webkit-animation-timing-function:cubic-bezier(.4,0,.2,1);animation-timing-function:cubic-bezier(.4,0,.2,1);-webkit-animation-duration:280ms;animation-duration:280ms}.uk-alert{background:#1976d2;color:#fff;padding-right:32px;position:relative;display:block}.uk-alert-success{background:#8bc34a!important}.uk-alert-danger{background:#e53935!important}.uk-alert-warning{background:#ffa000!important}.uk-alert-info{background:#0097a7!important}.uk-alert-large{padding:24px 32px 24px 24px}.uk-alert-close{position:absolute;top:10px;right:8px;float:none!important;margin:0!important}.uk-alert-close:after{color:#fff!important}.uk-badge{background:#0097a7;padding:5px 10px;border-radius:2px;font-size:13px;line-height:15px;font-weight:400}.uk-badge-primary{background:#2196f3}.uk-badge-danger{background:#e53935}.uk-badge-warning{background:#ffa000}.uk-badge-success{background:#7cb342}.uk-badge-muted{background:#bdbdbd}.uk-badge-notification{border-radius:20px}.uk-badge.inline-label{vertical-align:1px;margin-left:4px}.uk-input-group-addon,.uk-table-align-vertical td,.uk-table-align-vertical th{vertical-align:middle}.uk-badge-outline{border:1px solid rgba(0,0,0,.12);background:#fff;color:#212121;padding-bottom:0;line-height:16px}.uk-button{font-weight:400;border-radius:2px;-webkit-transition:all .2s cubic-bezier(.4,0,.2,1);transition:all .2s cubic-bezier(.4,0,.2,1)}.uk-comment-list>li+li{border-top:1px dashed rgba(0,0,0,.12);margin-top:16px!important}.uk-comment-list .uk-comment+ul{list-style:none;margin:8px 0 0}@media only screen and (min-width:768px){.uk-comment-list .uk-comment+ul{padding-left:48px}}.uk-comment-header{padding:16px 8px 8px;border:none;background:0 0;margin-bottom:0}.uk-comment-title{margin:0;font-size:14px;line-height:20px}.uk-modal{z-index:1304;background:rgba(0,0,0,.5);-webkit-transition:opacity 250ms ease-out;transition:opacity 250ms ease-out;overflow:auto!important}.uk-modal.uk-modal-no-backdrop{background:0 0}.uk-modal-dialog{border-radius:2px;box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22);padding:24px;display:block!important;-webkit-animation:none!important;animation:none!important;-webkit-transition:-webkit-transform 280ms cubic-bezier(.4,0,.2,1),opacity 280ms ease-in;transition:transform 280ms cubic-bezier(.4,0,.2,1),opacity 280ms ease-in;-webkit-transform:scale(0);transform:scale(0)}.uk-open .uk-modal-dialog{-webkit-transform:scale(1);transform:scale(1)}.uk-modal-dialog .uk-modal-header{background:0 0;border-bottom:none;margin:0 -24px 24px;padding:0 32px 0 24px;overflow:hidden}.uk-modal-dialog .uk-modal-header .uk-modal-title{margin:0;font:500 18px/28px Roboto,sans-serif}.uk-modal-dialog .uk-modal-header .uk-modal-title span{font-size:16px;display:block;color:#727272}.uk-modal-dialog .uk-modal-footer{margin:16px -16px -16px;padding:16px;background:#fff;border-top:none}.uk-modal-dialog .uk-modal-footer:after,.uk-modal-dialog .uk-modal-footer:before{content:" ";display:table}.uk-modal-dialog .uk-modal-footer .md-icon-btn{margin-top:2px}.uk-modal-dialog .uk-modal-caption{bottom:16px;margin:0 32px}.uk-modal-dialog>.uk-close:first-child{top:8px;right:8px;position:absolute;float:none;margin:0}.uk-modal-dialog-lightbox{padding:0}.uk-modal-dialog-lightbox>.uk-close:first-child{top:-11px;right:-11px;box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23);border:none}.uk-modal-dialog .uk-overflow-container{margin:16px 0}.uk-modal .uk-margin.uk-modal-content{margin-bottom:0}.uk-modal.uk-modal-dialog-replace .uk-modal-content{font-size:18px}.uk-dropdown{-webkit-transform:scale(.25,0);transform:scale(.25,0);opacity:0;-webkit-transition:all 280ms cubic-bezier(.4,0,.2,1);transition:all 280ms cubic-bezier(.4,0,.2,1);-webkit-animation:none!important;animation:none!important;-webkit-transform-origin:50% 0!important;transform-origin:50% 0!important;box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);border:none;border-radius:2px}.uk-close,.uk-close:focus,.uk-close:hover{opacity:1}.uk-dropdown.uk-dropdown-xlarge{width:360px}@media only screen and (max-width:479px){.uk-dropdown.uk-dropdown-xlarge{width:260px}}.uk-dropdown.uk-dropdown-large{width:260px}.uk-dropdown.uk-dropdown-small{width:160px}.uk-dropdown.uk-dropdown-xsmall{min-width:130px!important;width:130px!important;padding:5px 15px!important}.uk-dropdown>ul>li>a{font-size:14px;color:#212121}.uk-dropdown>ul>li.uk-active>a,.uk-dropdown>ul>li>a:hover{background:rgba(0,0,0,.085)}.uk-dropdown.dropdown-modal{z-index:1310}.uk-dropdown.dropdown-fs{z-index:9999}.uk-dropdown.uk-dropdown-scrollable{-webkit-overflow-scrolling:touch}[data-uk-dropdown*=top-] .uk-dropdown{-webkit-transform-origin:50% 100%!important;transform-origin:50% 100%!important}[data-uk-dropdown*=left-] .uk-dropdown{-webkit-transform-origin:100% 50%!important;transform-origin:100% 50%!important}[data-uk-dropdown*=right-] .uk-dropdown{-webkit-transform-origin:0 50%!important;transform-origin:0 50%!important}[data-uk-dropdown*=justify]{position:static!important}[data-uk-dropdown*=justify] [class*=uk-dropdown-width]{left:0!important;width:100%!important;min-width:inherit!important;margin-left:0!important}.uk-dropdown-active{display:block!important}.uk-dropdown-shown{-webkit-transform:scale(1,1);transform:scale(1,1);opacity:1}.uk-nav-dropdown>li>a:focus,.uk-nav-dropdown>li>a:hover{text-shadow:none;box-shadow:none;color:#212121;background:rgba(153,153,153,.2)}.uk-form input:not([type]),.uk-form input[type=color],.uk-form input[type=date],.uk-form input[type=datetime-local],.uk-form input[type=email],.uk-form input[type=month],.uk-form input[type=number],.uk-form input[type=password],.uk-form input[type=search],.uk-form input[type=tel],.uk-form input[type=text],.uk-form input[type=time],.uk-form input[type=url],.uk-form input[type=week],.uk-form select,.uk-form textarea{box-sizing:border-box;padding:8px;border:1px solid rgba(0,0,0,.12);-webkit-transition:border .2s ease-in;transition:border .2s ease-in;resize:none}.uk-form input:not([type]):focus,.uk-form input[type=color]:focus,.uk-form input[type=date]:focus,.uk-form input[type=datetime-local]:focus,.uk-form input[type=email]:focus,.uk-form input[type=month]:focus,.uk-form input[type=number]:focus,.uk-form input[type=password]:focus,.uk-form input[type=search]:focus,.uk-form input[type=tel]:focus,.uk-form input[type=text]:focus,.uk-form input[type=time]:focus,.uk-form input[type=url]:focus,.uk-form input[type=week]:focus,.uk-form select:focus,.uk-form textarea:focus{background:0 0;border-color:#2196f3}.uk-form textarea{-webkit-transition:border-color .2s ease-in,height 280ms ease-in;transition:border-color .2s ease-in,height 280ms ease-in}.uk-form-row{-webkit-transition:all .2s ease-out;transition:all .2s ease-out}.uk-form-row+.uk-form-row{margin-top:24px}.uk-form-stacked .uk-form-label{font-weight:500;font-size:13px;display:block;padding-bottom:8px}.uk-form-stacked .uk-form-label+p{margin-top:0}.uk-form-help-block{display:block;font-size:12px;color:#727272;padding:4px 0 0;font-style:italic}.uk-grid+.uk-grid,.uk-grid-margin,.uk-grid>*>.uk-panel+.uk-panel{margin-top:24px}.uk-grid.uk-grid-small+.uk-grid-small,.uk-grid.uk-grid-small>*>.uk-panel+.uk-panel,.uk-grid.uk-grid-small>.uk-grid-margin{margin-top:10px}[class*=uk-icon-]{color:#727272}.uk-input-group{position:relative;display:table;border-collapse:separate}.uk-input-group>input[type=text]{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.uk-input-group-addon,.uk-input-group>input[type=text]{display:table-cell}.uk-input-group-addon{width:1%;white-space:nowrap;line-height:1;text-align:center;padding:0 16px;font-size:16px;min-width:22px}.uk-input-group>.md-input-wrapper{display:inline-block}.uk-input-group.uk-input-group-danger .uk-input-group-addon i{color:#e53935!important}.uk-input-group.uk-input-group-danger+.parsley-errors-list{margin-left:58px}.uk-input-group.uk-input-group-success .uk-input-group-addon i{color:#7cb342!important}.uk-pagination{margin:0}.uk-pagination>li{outline:0!important}.uk-pagination>li>a,.uk-pagination>li>span{border:none;padding:4px 8px;min-width:32px;line-height:24px;height:32px;box-sizing:border-box;text-shadow:none;color:#212121;border-radius:4px}.uk-dotnav>*>*,.uk-progress{height:20px;overflow:hidden}.uk-pagination>li>a [class*=uk-icon-],.uk-pagination>li>span [class*=uk-icon-]{font-size:16px}.uk-pagination>li>a{background:0 0}.uk-pagination>li>a:hover{background:#e1efd2}.uk-pagination>li.uk-active>a,.uk-pagination>li.uk-active>span{background:#7cb342}.uk-pagination>li.uk-active>a,.uk-pagination>li.uk-active>a:hover,.uk-pagination>li.uk-active>span,.uk-pagination>li.uk-active>span:hover{color:#fff}.uk-pagination>li.uk-disabled>a,.uk-pagination>li.uk-disabled>span{border:none;text-shadow:none;background:0 0!important;color:#aaa;cursor:default}.uk-panel-box{border-radius:2px;background:#fff;border-color:rgba(0,0,0,.12)}.uk-panel-box .uk-panel-teaser{border-radius:2px 2px 0 0}.uk-table th{border-bottom:1px #444}.uk-table-nowrap td,.uk-table-nowrap th{white-space:nowrap}.uk-table-no-border td{border-bottom-color:transparent}.uk-sticky-placeholder .uk-active{z-index:1094}.uk-subnav-pill>*>*{color:#212121}.uk-subnav-pill>.uk-active>*{background:#7cb342}.uk-table thead th{border-bottom:2px solid rgba(0,0,0,.12)}.uk-table tfoot td,.uk-table tfoot th,.uk-table thead th{font-style:normal;font-weight:400;color:#727272;font-size:14px}.uk-table td{border-bottom-color:#e0e0e0}.uk-table tfoot td,.uk-table tfoot th{border-top:2px solid rgba(0,0,0,.12);border-bottom:none}.uk-table-hover tbody tr:hover,.uk-table-striped tbody tr:nth-of-type(odd){background:rgba(0,0,0,.085)}.uk-thumbnail{border-radius:0;border-color:rgba(0,0,0,.12)}.uk-thumbnail-caption{padding:4px 4px 0;line-height:20px;color:#727272;font-size:12px}.uk-text-small{font-size:12px}.uk-text-muted{color:#757575!important}.uk-text-primary{color:#2196f3!important}.uk-text-danger{color:#e53935!important}.uk-text-success{color:#7cb342!important}.uk-text-warning{color:#ffa000!important}.uk-accordion-title:after,.uk-close:after{font-family:"Material Icons";color:#727272}.uk-margin-bottom{margin-bottom:16px!important}.uk-margin-small-bottom{margin-bottom:8px!important}.uk-margin-medium-bottom{margin-bottom:32px!important}.uk-margin-large-bottom{margin-bottom:48px!important}.uk-margin-medium-top{margin-top:32px!important}.uk-margin-large-top{margin-top:48px!important}.uk-close{font-size:18px}.uk-close:after{opacity:1!important;content:'\e5cd'}/*! UIkit 2.24.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */.uk-accordion-title{margin-top:0;margin-bottom:15px;line-height:24px;cursor:pointer}.uk-accordion-content:after,.uk-accordion-content:before{content:"";display:table}.uk-accordion-content>:last-child{margin-bottom:0}.uk-accordion-title{background:rgba(153,153,153,.2);border-radius:0;border:none;margin:0 0 4px;font-size:15px;font-weight:400;padding:8px 24px 8px 16px;position:relative}.uk-accordion-title:after{content:'\e313';font-size:18px;position:absolute;top:8px;right:8px;display:block;-webkit-transition:-webkit-transform 280ms;transition:transform 280ms}.uk-accordion-title.uk-active:after{-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}.uk-accordion-title-primary{background:#2196f3;color:#fff}.uk-accordion-title-primary:after{color:#fff}.uk-accordion-title-danger{background:#e53935;color:#fff}.uk-accordion-title-danger:after{color:#fff}.uk-accordion-title-success{background:#7cb342;color:#fff}.uk-accordion-title-success:after{color:#fff}.uk-accordion-title-warning{background:#ffa000;color:#fff}.uk-accordion-title-warning:after{color:#fff}.uk-accordion-content{padding:16px}.uk-accordion-alt .uk-accordion-title{background:#fff;margin:0;padding:16px 24px 16px 48px;border-top:1px solid rgba(0,0,0,.12)}.uk-accordion-alt .uk-accordion-title:first-child{border-top:none}.uk-accordion-alt .uk-accordion-title:after{color:#2196f3;content:'\e145';right:auto;left:16px;top:16px}.uk-accordion-alt .uk-accordion-title.uk-active:after{-webkit-transform:rotate(-180deg);transform:rotate(-180deg);content:'\e15b'}.uk-accordion-alt .uk-accordion-content{padding:24px}/*! UIkit 2.24.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */.uk-dotnav{display:-ms-flexbox;display:-webkit-flex;display:-webkit-box;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-left:-15px;margin-top:-15px;padding:0;list-style:none}*+.uk-progress,.uk-dotnav>*{margin-top:15px}.uk-dotnav>*{-ms-flex:none;-webkit-flex:none;-webkit-box-flex:0;flex:none;padding-left:15px;float:left}.uk-dotnav:after,.uk-dotnav:before{content:"";display:block;overflow:hidden}.uk-dotnav>*>*{display:block;box-sizing:content-box;width:20px;border-radius:50%;background:rgba(50,50,50,.1);text-indent:100%;white-space:nowrap}.uk-file-upload,.uk-htmleditor .CodeMirror,.uk-htmleditor-code,.uk-htmleditor-preview,.uk-notify,.uk-progress,.uk-slidenav{box-sizing:border-box}.uk-dotnav>*>:focus,.uk-dotnav>*>:hover{background:rgba(50,50,50,.4);outline:0}.uk-dotnav>*>:active{background:rgba(50,50,50,.6)}.uk-dotnav>.uk-active>*{background:rgba(50,50,50,.4)}.uk-dotnav-contrast>*>*{background:rgba(255,255,255,.4)}.uk-dotnav-contrast>*>:focus,.uk-dotnav-contrast>*>:hover{background:rgba(255,255,255,.7)}.uk-dotnav-contrast>*>:active,.uk-dotnav-contrast>.uk-active>*{background:rgba(255,255,255,.9)}.uk-dotnav-vertical{-ms-flex-direction:column;-webkit-flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.uk-dotnav-vertical>*{float:none}/*! UIkit 2.24.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */.uk-progress{margin-bottom:15px;background:#f5f5f5;line-height:20px}.uk-progress-bar{width:0;height:100%;float:left;-webkit-transition:width .6s ease;transition:width .6s ease;font-size:12px;color:#fff;text-align:center;box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)}.uk-progress-mini{height:6px}.uk-progress-small{height:12px}.uk-progress-striped .uk-progress-bar{background-image:-webkit-linear-gradient(135deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:30px 30px}.uk-progress-striped.uk-active .uk-progress-bar{-webkit-animation:uk-progress-bar-stripes 2s linear infinite;animation:uk-progress-bar-stripes 2s linear infinite}@-webkit-keyframes uk-progress-bar-stripes{0%{background-position:0 0}100%{background-position:30px 0}}@keyframes uk-progress-bar-stripes{0%{background-position:0 0}100%{background-position:30px 0}}.uk-progress-mini,.uk-progress-small{border-radius:500px}.uk-progress{box-shadow:none;border-radius:2px}.uk-progress-bar{background:#009688}.uk-progress-success .uk-progress-bar{background-color:#7cb342}.uk-progress-danger .uk-progress-bar{background-color:#e53935}.uk-progress-warning .uk-progress-bar{background-color:#ffa000}/*! UIkit 2.24.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */.uk-htmleditor-navbar{border:1px solid rgba(0,0,0,.06);border-top-left-radius:4px;border-top-right-radius:4px}.uk-htmleditor-navbar-nav>li.uk-active>a,.uk-htmleditor-navbar-nav>li:hover>a,.uk-htmleditor-navbar-nav>li>a:active,.uk-htmleditor-navbar-nav>li>a:focus{color:#444;border-left-color:rgba(0,0,0,.1);border-right-color:rgba(0,0,0,.1)}.uk-htmleditor-navbar:after,.uk-htmleditor-navbar:before{content:"";display:table}.uk-htmleditor-navbar-nav{margin:0;padding:0;list-style:none;float:left}.uk-htmleditor-navbar-nav>li{float:left}.uk-htmleditor-navbar-nav>li>a{display:block;box-sizing:border-box;text-decoration:none;padding:0 15px;line-height:40px;color:#444;font-size:11px;cursor:pointer;margin-top:-1px;margin-left:-1px;text-shadow:0 1px 0 #fff}.uk-htmleditor-navbar-nav>li:hover>a,.uk-htmleditor-navbar-nav>li>a:focus{background-color:#fafafa;outline:0;position:relative;z-index:1;border-top-color:rgba(0,0,0,.1)}.uk-htmleditor-navbar-nav>li>a:active{background-color:#eee;border-top-color:rgba(0,0,0,.2)}.uk-htmleditor-navbar-nav>li.uk-active>a{background-color:#fafafa;border-top-color:rgba(0,0,0,.1)}.uk-htmleditor-navbar-flip{float:right}[data-mode=split] .uk-htmleditor-button-code,[data-mode=split] .uk-htmleditor-button-preview{display:none}.uk-htmleditor-content{background:#fff;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.uk-htmleditor-content:after,.uk-htmleditor-content:before{content:"";display:table}.uk-htmleditor-fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1154}.uk-htmleditor-fullscreen .uk-htmleditor-content{position:absolute;left:0;right:0;bottom:0}.uk-htmleditor-fullscreen .uk-icon-expand:before{content:"\f066"}.uk-htmleditor-preview{padding:20px;overflow-y:scroll;position:relative}[data-mode=tab][data-active-tab=code] .uk-htmleditor-preview,[data-mode=tab][data-active-tab=preview] .uk-htmleditor-code{display:none}.uk-form-file,.uk-form-select{display:inline-block;overflow:hidden;vertical-align:middle}[data-mode=split] .uk-htmleditor-code,[data-mode=split] .uk-htmleditor-preview{float:left;width:50%}[data-mode=split] .uk-htmleditor-code{border-right:1px solid #eee}.uk-htmleditor-iframe{position:absolute;top:0;left:0;width:100%;height:100%}.uk-htmleditor .CodeMirror{padding:10px}.uk-htmleditor-navbar-nav:first-child>li:first-child>a{border-top-left-radius:4px}.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav>li>a{margin-left:0;margin-right:-1px}.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav:first-child>li:first-child>a{border-top-left-radius:0}.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav:last-child>li:last-child>a{border-top-right-radius:4px}.uk-htmleditor-fullscreen .uk-htmleditor-navbar{border-top:none;border-left:none;border-right:none;border-radius:0}.uk-htmleditor-fullscreen .uk-htmleditor-content{border:none;border-radius:0;top:38px}.uk-htmleditor-fullscreen .uk-htmleditor-navbar-nav>li>a{border-radius:0!important}.uk-htmleditor-navbar{border-radius:0;background:#f9f9f9;border-width:1px 1px 0;border-style:solid;border-color:rgba(0,0,0,.12);overflow:hidden}.uk-htmleditor-navbar-nav>li>a{border:none;border-radius:0!important;height:38px}.uk-htmleditor-navbar-nav>li.uk-active>a,.uk-htmleditor-navbar-nav>li:hover>a,.uk-htmleditor-navbar-nav>li>a:focus{background:#ebebeb}.uk-htmleditor-content{border-radius:0;border:1px solid rgba(0,0,0,.12)}.uk-htmleditor-fullscreen .uk-htmleditor-navbar{border-bottom:1px solid rgba(0,0,0,.12)}/*! UIkit 2.24.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */.uk-form-file{position:relative}/*! UIkit 2.24.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */.uk-dragover{box-shadow:0 0 20px rgba(100,100,100,.3)}.uk-file-upload{width:100%;padding:32px 16px;background:#f5f5f5;text-align:center;-webkit-transition:all .2s ease-in;transition:all .2s ease-in}.uk-file-upload p{margin:0}.uk-file-upload.uk-dragover{box-shadow:0 0 6px rgba(0,0,0,.3)}div.uk-form-file{padding:3px 2px}.uk-form-file input[type=file]{position:absolute;top:0;z-index:1;width:100%;opacity:0;cursor:pointer;left:0;font-size:500px}.uk-form-file input[type=file]::-webkit-file-upload-button{cursor:pointer}/*! UIkit 2.24.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */.uk-form-select{position:relative}.uk-form-select select{position:absolute;top:0;z-index:1;width:100%;height:100%;opacity:0;cursor:pointer;left:0;-webkit-appearance:none}.uk-datepicker{z-index:1094;width:auto;padding:0}.uk-datepicker-nav{margin-bottom:15px;text-align:center;line-height:20px;background:#009688;padding:10px 0}.uk-datepicker-nav a,.uk-datepicker-nav a:hover{text-decoration:none;color:#fff}.uk-datepicker-nav .uk-form-select{font:400 16px/22px Roboto,sans-serif;color:#fff;text-transform:uppercase}.uk-datepicker-previous{float:left;margin-left:8px}.uk-datepicker-previous:after{content:"\f053"}.uk-datepicker-next{float:right;margin-right:8px}.uk-datepicker-next:after{content:"\f054"}.uk-datepicker-next:after,.uk-datepicker-previous:after{width:20px;font-family:FontAwesome}.uk-datepicker.dp-top{-webkit-transform-origin:50% 100%!important;transform-origin:50% 100%!important}.uk-datepicker-table{width:100%}.uk-datepicker-table td,.uk-datepicker-table th{padding:2px;font:400 13px/15px Roboto,sans-serif}.uk-datepicker-table th{color:#727272;font-size:12px;text-transform:uppercase}.uk-datepicker-table a{display:block;width:30px;line-height:30px;height:30px;text-align:center;text-decoration:none;border-radius:50%;color:#212121}.uk-datepicker-table a:hover{background-color:rgba(0,0,0,.085);color:#212121;outline:0}.uk-datepicker-table a.uk-active{background-color:#009688;color:#fff}a.uk-datepicker-table-muted{color:#999}.uk-autocomplete .uk-dropdown{display:block;max-height:0;padding:0;overflow-x:hidden;overflow-y:auto;border-radius:0;border:none;-webkit-transform:scale(.25,0);transform:scale(.25,0);opacity:0;-webkit-transition:all 280ms cubic-bezier(.4,0,.2,1);transition:all 280ms cubic-bezier(.4,0,.2,1);-webkit-animation:none!important;animation:none!important;-webkit-transform-origin:0 0;transform-origin:0 0}.uk-autocomplete.uk-open .uk-dropdown{-webkit-transform:scale(1);transform:scale(1);opacity:1;max-height:210px}.uk-form-password-toggle{position:absolute;right:8px;top:16px;color:#727272}.uk-form-password-toggle:hover{color:#727272}/*! UIkit 2.24.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */.uk-nestable{padding:0;list-style:none}.uk-nestable-list{margin:0;padding-left:40px;list-style:none}.uk-nestable-item{-ms-touch-action:none;touch-action:none}.uk-nestable-item+.uk-nestable-item,.uk-nestable-list:not(.uk-nestable-dragged)>.uk-nestable-item:first-child{margin-top:10px}.uk-nestable-dragged{position:absolute;z-index:1050;pointer-events:none;padding-left:0}.uk-nestable-placeholder{position:relative}.uk-nestable-placeholder>*{opacity:0}.uk-nestable-handle{-ms-touch-action:none;touch-action:none;margin-right:16px}.uk-nestable-handle:hover,.uk-nestable-moving,.uk-nestable-moving *{cursor:move}[data-nestable-action=toggle]{cursor:pointer;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.uk-nestable-toggle{visibility:hidden;font-size:18px;height:18px;width:18px;line-height:18px;overflow:hidden;vertical-align:middle;margin-right:8px;display:none}.uk-parent>:not(.uk-nestable-list) .uk-nestable-toggle{visibility:visible}.uk-collapsed .uk-nestable-list{display:none}.uk-nestable-panel{padding:8px 16px;background:#fff;border-radius:4px;border:none;text-shadow:none;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.uk-nestable-placeholder:after{content:'';position:absolute;top:0;bottom:0;left:0;right:0;border:none;background:rgba(0,0,0,.085);opacity:1}.uk-nestable-toggle:after{vertical-align:top;content:'\e316';font-family:"Material Icons"}.uk-parent>.uk-nestable-panel .uk-nestable-toggle{display:inline-block}.uk-collapsed .uk-nestable-toggle:after{content:"\e313"}/*! UIkit 2.24.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */.uk-notify{position:fixed;left:10px}.uk-notify-bottom-right,.uk-notify-top-right{left:auto}.uk-notify-bottom-center,.uk-notify-top-center{left:50%}@media (max-width:479px){.uk-notify{left:10px;right:10px;width:auto;margin:0}}.uk-notify-bottom-left,.uk-notify-top-left{left:24px}.uk-notify-bottom-right,.uk-notify-top-right{right:24px}.uk-notify-message{position:relative;margin-bottom:10px;color:#fff;cursor:pointer}.uk-notify-message>.uk-close{visibility:hidden;float:right}.uk-notify-message:hover>.uk-close{visibility:visible}.uk-notify-message-primary{background:#ebf7fd;color:#2d7091;border-color:rgba(45,112,145,.3)}.uk-notify-message-success{border-color:rgba(101,159,19,.3)}.uk-notify-message-warning{border-color:rgba(226,131,39,.3)}.uk-notify-message-danger{border-color:rgba(216,80,48,.3)}.uk-notify{z-index:1114;width:400px;top:56px}.uk-notify-bottom-center,.uk-notify-top-center{margin-left:-200px}.uk-notify-bottom-center,.uk-notify-bottom-left,.uk-notify-bottom-right{top:auto;bottom:8px}.uk-notify-message{background:#323232;border-radius:4px;padding:12px 16px;font-size:14px;line-height:18px;border:none}.uk-notify .uk-close{display:none}.uk-notify .notify-action{float:right;text-transform:uppercase;color:#8bc34a;margin-left:16px}.uk-notify .notify-action:hover{color:#689f38}.uk-notify .notify-content{overflow:hidden}.uk-notify-message-info{background:#1976d2;color:#fff}.uk-notify-message-success{background:#7cb342}.uk-notify-message-warning{background:#ffa000}.uk-notify-message-danger{background:#e53935}.uk-notify-message-danger,.uk-notify-message-danger .notify-action,.uk-notify-message-info,.uk-notify-message-info .notify-action,.uk-notify-message-success,.uk-notify-message-success .notify-action,.uk-notify-message-warning,.uk-notify-message-warning .notify-action{color:#fff}.uk-notify-message-danger .notify-action:hover,.uk-notify-message-info .notify-action:hover,.uk-notify-message-success .notify-action:hover,.uk-notify-message-warning .notify-action:hover{color:#fff;text-decoration:underline}@media only screen and (max-width:767px){.uk-notify-bottom-center,.uk-notify-bottom-left,.uk-notify-bottom-right,.uk-notify-top-center,.uk-notify-top-left,.uk-notify-top-right{width:100%;margin:0;left:0;right:0}.uk-notify-bottom-center>.uk-notify-message,.uk-notify-bottom-left>.uk-notify-message,.uk-notify-bottom-right>.uk-notify-message,.uk-notify-top-center>.uk-notify-message,.uk-notify-top-left>.uk-notify-message,.uk-notify-top-right>.uk-notify-message{border-radius:0;padding:16px 32px}.uk-notify-top-center,.uk-notify-top-left,.uk-notify-top-right{top:0;bottom:auto}.uk-notify-bottom-center,.uk-notify-bottom-left,.uk-notify-bottom-right{top:auto;bottom:-10px}}@media only screen and (min-width:960px){.sidebar_main_active .uk-notify-bottom-left,.sidebar_main_active .uk-notify-top-left,.sidebar_main_open .uk-notify-bottom-left,.sidebar_main_open .uk-notify-top-left{left:256px}.sidebar_main_active .uk-notify-bottom-center,.sidebar_main_active .uk-notify-top-center,.sidebar_main_open .uk-notify-bottom-center,.sidebar_main_open .uk-notify-top-center{margin-left:-80px}}/*! UIkit 2.24.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */.uk-slideshow{position:relative;z-index:0;width:100%;margin:0;padding:0;list-style:none;overflow:hidden;-ms-touch-action:pan-y;touch-action:pan-y}.uk-slideshow>li{position:absolute;top:0;left:0;width:100%;opacity:0}.uk-slideshow>.uk-active{z-index:10;opacity:1}.uk-slideshow>li>img{visibility:hidden}[data-uk-slideshow-slide]{cursor:pointer}.uk-slideshow-fullscreen,.uk-slideshow-fullscreen>li{height:100vh}.uk-slideshow-fade-in{-webkit-animation:uk-fade .5s linear;animation:uk-fade .5s linear}.uk-slideshow-fade-out{-webkit-animation:uk-fade .5s linear reverse;animation:uk-fade .5s linear reverse}.uk-slideshow-scroll-forward-in{-webkit-animation:uk-slide-right .5s ease-in-out;animation:uk-slide-right .5s ease-in-out}.uk-slideshow-scroll-forward-out{-webkit-animation:uk-slide-left .5s ease-in-out reverse;animation:uk-slide-left .5s ease-in-out reverse}.uk-slideshow-scroll-backward-in{-webkit-animation:uk-slide-left .5s ease-in-out;animation:uk-slide-left .5s ease-in-out}.uk-slideshow-scroll-backward-out{-webkit-animation:uk-slide-right .5s ease-in-out reverse;animation:uk-slide-right .5s ease-in-out reverse}.uk-slideshow-scale-out{-webkit-animation:uk-fade-scale-15 .5s ease-in-out reverse;animation:uk-fade-scale-15 .5s ease-in-out reverse}.uk-slideshow-swipe-forward-in{-webkit-animation:uk-slide-left-33 .5s ease-in-out;animation:uk-slide-left-33 .5s ease-in-out}.uk-slideshow-swipe-forward-out{-webkit-animation:uk-slide-left .5s ease-in-out reverse;animation:uk-slide-left .5s ease-in-out reverse}.uk-slideshow-swipe-backward-in{-webkit-animation:uk-slide-right-33 .5s ease-in-out;animation:uk-slide-right-33 .5s ease-in-out}.uk-slideshow-swipe-backward-out{-webkit-animation:uk-slide-right .5s ease-in-out reverse;animation:uk-slide-right .5s ease-in-out reverse}.uk-slideshow-swipe-backward-in:before,.uk-slideshow-swipe-forward-in:before{content:'';position:absolute;top:0;bottom:0;left:0;right:0;z-index:1;background:rgba(0,0,0,.6);-webkit-animation:uk-fade .5s ease-in-out reverse;animation:uk-fade .5s ease-in-out reverse}/*! UIkit 2.24.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */.uk-slidenav{display:inline-block;width:60px;height:60px;line-height:60px;color:rgba(50,50,50,.4);font-size:60px;text-align:center}.uk-tab>li>a,.uk-tooltip{font-size:13px;box-sizing:border-box}.uk-slidenav:focus,.uk-slidenav:hover{outline:0;text-decoration:none;color:rgba(50,50,50,.7);cursor:pointer}.uk-sortable .sortable-handler,.uk-sortable-handle:hover,.uk-sortable-moving,.uk-sortable-moving *,.uk-sortable.sortable-handler>*{cursor:move}.uk-slidenav:active{color:rgba(50,50,50,.9)}.uk-slidenav-previous:before{content:"\f104";font-family:FontAwesome}.uk-slidenav-next:before{content:"\f105";font-family:FontAwesome}.uk-slidenav-position{position:relative}.uk-slidenav-position .uk-slidenav{display:none;position:absolute;top:50%;z-index:1;margin-top:-30px}.uk-slidenav-position:hover .uk-slidenav{display:block}.uk-slidenav-position .uk-slidenav-previous{left:20px}.uk-slidenav-position .uk-slidenav-next{right:20px}.uk-slidenav-contrast{color:rgba(255,255,255,.5)}.uk-slidenav-contrast:focus,.uk-slidenav-contrast:hover{color:rgba(255,255,255,.7)}.uk-slidenav-contrast:active{color:rgba(255,255,255,.9)}/*! UIkit 2.24.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */.uk-tooltip{display:none;position:absolute;max-width:200px;border-radius:3px;background:#424242;color:#fff;padding:3px 16px;line-height:22px;text-shadow:none;min-width:80px;text-align:center;z-index:1114}.uk-tooltip:after{content:"";position:absolute;width:0;height:0;border:5px dashed #333}.uk-sortable,.uk-tab>li>a{position:relative}.uk-tooltip-top-left:after,.uk-tooltip-top-right:after,.uk-tooltip-top:after{bottom:-5px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent;border-top-color:#333}.uk-tooltip-bottom-left:after,.uk-tooltip-bottom-right:after,.uk-tooltip-bottom:after{top:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent;border-bottom-color:#333}.uk-tooltip-left:after,.uk-tooltip-right:after{top:50%;margin-top:-5px;border-top-color:transparent;border-bottom-color:transparent}.uk-tooltip-bottom:after,.uk-tooltip-top:after{left:50%;margin-left:-5px}.uk-tooltip-bottom-left:after,.uk-tooltip-top-left:after{left:10px}.uk-tooltip-bottom-right:after,.uk-tooltip-top-right:after{right:10px}.uk-tooltip-left:after{right:-5px;border-left-style:solid;border-right:none;border-left-color:#333}.uk-tooltip-right:after{left:-5px;border-right-style:solid;border-left:none;border-right-color:#333}.uk-tooltip .uk-tooltip-inner{display:inline-block;vertical-align:top;overflow:hidden;width:100%}.uk-tooltip:after{display:none!important}.uk-tooltip.long-text{text-align:left}.uk-tooltip.long-text .uk-tooltip-inner{white-space:normal;overflow:visible;line-height:18px;padding:4px 0}.uk-tooltip-small{-webkit-transform:scale(.85);transform:scale(.85)}.uk-tab{border-bottom-color:rgba(0,0,0,.12)}.uk-sticky-placeholder .uk-tab{background:#fff;padding-top:8px}.uk-tab>li{margin-bottom:0;margin-top:0;z-index:1}.uk-tab>li>a{text-transform:uppercase;color:#212121;border:none;border-bottom:2px solid transparent;border-radius:0!important;font-weight:500;min-width:100px;max-width:100%;text-align:center;-webkit-transition:all 220ms cubic-bezier(.4,0,.2,1);transition:all 220ms cubic-bezier(.4,0,.2,1);padding:8px!important;margin:0!important;top:1px}.uk-tab>li>a:focus,.uk-tab>li>a:hover{background:0 0;color:#212121;border-bottom-color:#b2dbfb}.uk-tab>li.uk-active>a{background:0 0!important;border-bottom-color:#2196f3}.uk-tab>li.uk-disabled>a,.uk-tab>li.uk-disabled>a:focus,.uk-tab>li.uk-disabled>a:hover{color:#aaa}.uk-tab-bottom li{margin-top:0}.uk-tab-bottom li>a{border-top:2px solid transparent;border-bottom:none;top:auto;bottom:1px}.uk-tab-left li>a,.uk-tab-right li>a{border-bottom:none;top:auto;bottom:auto}.uk-tab-bottom li>a:focus,.uk-tab-bottom li>a:hover{border-top-color:#b2dbfb}.uk-tab-bottom li.uk-active>a{border-top-color:#2196f3}.uk-tab-left{border-bottom:none}.uk-tab-left li>a{border-right:2px solid transparent;text-align:right}.uk-tab-left li>a:focus,.uk-tab-left li>a:hover{border-right-color:#b2dbfb}.uk-tab-left li.uk-active>a{border-right-color:#2196f3}.uk-tab-right{border-bottom:none}.uk-tab-right li>a{border-left:2px solid transparent;text-align:left}.uk-tab-right li>a:focus,.uk-tab-right li>a:hover{border-left-color:#b2dbfb}.uk-tab-right li.uk-active>a{border-left-color:#2196f3}.uk-tab-responsive li a{border:none!important}.uk-tab-responsive>a:before{content:'\e5d2';font-family:"Material Icons";color:#727272;margin-right:8px;vertical-align:-4px;font-size:18px}.uk-tab-icons>li>a{min-width:64px}.uk-tab-icons>li>a>.material-icons{font-size:24px}.uk-text-truncate{display:block}/*! UIkit 2.24.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */.uk-sortable>:last-child{margin-bottom:0}.uk-sortable-dragged{position:absolute;z-index:1050;pointer-events:none}.uk-sortable-placeholder{opacity:0}.uk-sortable-handle{-ms-touch-action:none;touch-action:none}.uk-sortable>*{-ms-touch-action:auto;touch-action:auto}.uk-switcher{overflow:hidden}@media (min-width:1480px){.uk-grid-width-xLarge-1-1>*,.uk-width-xLarge-1-1{width:100%}.uk-grid-width-xLarge-1-2>*,.uk-grid-width-xLarge-2-4>*,.uk-grid-width-xLarge-3-6>*,.uk-grid-width-xLarge-5-10>*,.uk-width-xLarge-1-2,.uk-width-xLarge-2-4,.uk-width-xLarge-3-6,.uk-width-xLarge-5-10{width:50%}.uk-grid-width-xLarge-1-3>*,.uk-grid-width-xLarge-2-6>*,.uk-width-xLarge-1-3,.uk-width-xLarge-2-6{width:33.333%}.uk-grid-width-xLarge-2-3>*,.uk-grid-width-xLarge-4-6>*,.uk-width-xLarge-2-3,.uk-width-xLarge-4-6{width:66.666%}.uk-grid-width-xLarge-1-4>*,.uk-width-xLarge-1-4{width:25%}.uk-grid-width-xLarge-3-4>*,.uk-width-xLarge-3-4{width:75%}.uk-grid-width-xLarge-1-5>*,.uk-grid-width-xLarge-2-10>*,.uk-width-xLarge-1-5,.uk-width-xLarge-2-10{width:20%}.uk-grid-width-xLarge-2-5>*,.uk-grid-width-xLarge-4-10>*,.uk-width-xLarge-2-5,.uk-width-xLarge-4-10{width:40%}.uk-grid-width-xLarge-3-5>*,.uk-grid-width-xLarge-6-10>*,.uk-width-xLarge-3-5,.uk-width-xLarge-6-10{width:60%}.uk-grid-width-xLarge-4-5>*,.uk-grid-width-xLarge-8-10>*,.uk-width-xLarge-4-5,.uk-width-xLarge-8-10{width:80%}.uk-grid-width-xLarge-1-6>*,.uk-width-xLarge-1-6{width:16.666%}.uk-grid-width-xLarge-5-6>*,.uk-width-xLarge-5-6{width:83.333%}.uk-grid-width-xLarge-1-10>*,.uk-width-xLarge-1-10{width:10%}.uk-grid-width-xLarge-3-10>*,.uk-width-xLarge-3-10{width:30%}.uk-grid-width-xLarge-7-10>*,.uk-width-xLarge-7-10{width:70%}.uk-grid-width-xLarge-9-10>*,.uk-width-xLarge-9-10{width:90%}}.lte-ie9 [class*=uk-animation-]{opacity:1!important}.snackbar-container{transition:all .5s ease;transition-property:top,right,bottom,left,opacity;font-family:Roboto,sans-serif;font-size:14px;min-height:14px;background-color:#070b0e;position:fixed;display:block;justify-content:space-between;align-items:center;color:#fff;line-height:22px;padding:18px 24px;bottom:0;top:0;opacity:0;z-index:999999}.snackbar-container .action{background:inherit;display:inline-block;border:none;font-size:inherit;text-transform:uppercase;color:#4caf50;margin:0 0 0 24px;padding:0;min-width:min-content;cursor:pointer}input.error,input.valid,select.error,select.valid{background-position:right 5px center;background-repeat:no-repeat}@media (min-width:640px){.snackbar-container{min-width:288px;max-width:568px;display:inline-flex;border-radius:2px;margin:24px;bottom:-100px}}@media (max-width:640px){.snackbar-container{left:0;right:0}}.snackbar-pos.bottom-center{top:auto!important;bottom:0;left:50%;transform:translate(-50%,-50%)}.snackbar-pos.bottom-left{top:auto!important;bottom:0;left:0}.snackbar-pos.bottom-right{top:auto!important;bottom:0;right:0}.snackbar-pos.top-left{bottom:auto!important;top:0;left:0}.snackbar-pos.top-center{bottom:auto!important;top:0;left:50%;transform:translate(-50%,-50%)}.snackbar-pos.top-right{bottom:auto!important;top:0;right:0}.c3 svg{font:10px sans-serif;-webkit-tap-highlight-color:transparent}.c3 line,.c3 path{fill:none;stroke:#000}.c3 text{-webkit-user-select:none;-moz-user-select:none;user-select:none}.c3-bars path,.c3-event-rect,.c3-legend-item-tile,.c3-xgrid-focus,.c3-ygrid{shape-rendering:crispEdges}.c3-chart-arc path{stroke:#fff}.c3-chart-arc text{fill:#fff;font-size:13px}.c3-grid line{stroke:#aaa}.c3-grid text{fill:#aaa}.c3-xgrid,.c3-ygrid{stroke-dasharray:3 3}.c3-text.c3-empty{fill:grey;font-size:2em}.c3-line{stroke-width:1px}.c3-circle._expanded_{stroke-width:1px;stroke:#fff}.c3-selected-circle{fill:#fff;stroke-width:2px}.c3-bar{stroke-width:0}.c3-bar._expanded_{fill-opacity:.75}.c3-target.c3-focused{opacity:1}.c3-target.c3-focused path.c3-line,.c3-target.c3-focused path.c3-step{stroke-width:2px}.c3-target.c3-defocused{opacity:.3!important}.c3-region{fill:#4682b4;fill-opacity:.1}.c3-brush .extent{fill-opacity:.1}.c3-legend-item{font-size:12px}.c3-legend-item-hidden{opacity:.15}.c3-legend-background{opacity:.75;fill:#fff;stroke:#d3d3d3;stroke-width:1}.c3-title{font:14px sans-serif}.c3-tooltip-container{z-index:10}.c3-tooltip{border-collapse:collapse;border-spacing:0;background-color:#fff;empty-cells:show;-webkit-box-shadow:7px 7px 12px -9px #777;-moz-box-shadow:7px 7px 12px -9px #777;box-shadow:7px 7px 12px -9px #777;opacity:.9}.c3-tooltip tr{border:1px solid #CCC}.c3-tooltip th{background-color:#aaa;font-size:14px;padding:2px 5px;text-align:left;color:#FFF}.c3-tooltip td{font-size:13px;padding:3px 6px;background-color:#fff;border-left:1px dotted #999}.c3-tooltip td>span{display:inline-block;width:10px;height:10px;margin-right:6px}.c3-tooltip td.value{text-align:right}.c3-area{stroke-width:0;opacity:.2}.c3-chart-arcs-title{dominant-baseline:middle;font-size:1.3em}.c3-chart-arcs .c3-chart-arcs-background{fill:#e0e0e0;stroke:none}.c3-chart-arcs .c3-chart-arcs-gauge-unit{fill:#000;font-size:16px}.c3-chart-arcs .c3-chart-arcs-gauge-max,.c3-chart-arcs .c3-chart-arcs-gauge-min{fill:#777}.c3-chart-arc .c3-gauge-value{fill:#000}input.error,select.error{border-color:#b94a48;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAARCAYAAAA/mJfHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAYSmlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjarVllVBV/t94TJ6hDdx26pLu7QboVOHRzODQYoIAICmKggoKCiogKBiklJqKIKKhYhIgoKgaKinI/gP7f9733frhr3d+HWc888+y9n73XrJk18wMQFqDR6XEoB0B8QgrD3daC6uvnTyW9ABSEgAJrQJUWmkw3d3V1gv95IQBfRwEBALivTKPT4+D/tjjDwpNDARBXAAgJSw6NB0AuAuBCoXRGCgBhCACk0lPoKQCELwDAw/D18wcgkgGAJ3IFiwAAT8gKVgMAHoanuyUA0QqAzEqjMSIBKK4AQE0LjUwBoNABiFwJYdEJADx5AEST0ChaGIDQVQBYEx+fGAYgNA8A8iH/kify33KG/M1Jo0X+xSu9AAAA2So6mR5Hy4T/7xUfl/qnhiQAsEYx7NwBgAcAORmb6OgOAKwASGdCyFoXAOACQG5GhwGs4rGoVDuvVf1caLKlPwDwAaAQRrNyBAARAJQvNdbLfBVr0BgAK3p0bXSKvecqDmEkuq/mR9PCk609/uCocHun1ZyFCXFr/+CqiGgbewDgAEAvZkV5+qz4RK+mRXuvBQAKADqUHOvhuKp/nhVlufaPhpHq7gUA0gDolwiGjfuKBhOIT/7TF6YSSrP2AAABAMwsJcrTbiUW8w1P9nX64y0s3Mp6xQMWFp7gteoZS6GnWLivxhbQ41xX9VhVeJyt+8qcsabkNI8/scMpDM/VmWOTMTQH1xX/2Fd6iqvnijccByewBCugQipQIQQSIQaiB+da54C6esUGaMCASAgH5VXmT4QP0IABCUADD8iCd5AA4ZD8N84CaMCAcEiDBPj1l105KkME0IABaRAOyRALr4AB8bgQboIb4k64CW6Gm+AauB6u/yeOyv6nKtGaaEW0I9oQFf76CIVEiINEYED0f+f+iSS8ItwjTBJGCOOEx+AIcRAOqcCAcEj425k3vAQGRP85D4rewvgP51RwhnFIXZ1KOIRAAsz+0eCyuAaujVvgxrgJrg9UnA8XAmVcC9fDzXFT3BDXxvX/zWHqXxf/zPI/64VDwr/1uMpTFCnaqy5C/vq3/Kv6zyyW/zKjMEgEx/9UYoXYBewGdhnrxzqxVqBiPVgbdhvrwlr/5U54CQyI/FvNHcIhAWIhDqL/aNQa1GbVlv5bddqqAwaEQzJASnhGCgCAZSI9kxEdGZVCNafT48Kp9gmhKmuoGmrq2gC+fv7UlcfHZ3dAAADhu/sPl6gOoB8KgGz9hwt+D9AaA0Dm+oeTbQVg1wDo3x+aykhb4XAAAAIwAzvwgCCIgRTIgzJogA4YghlYgwO4gCf4QSCEQhTEAwPSYQPkQgEUwy7YBxVQDbVwEs7AeWiFTrgM12EAhmAEnsA4TMNbmIev8BNBEBLChnAjgog4IoMoIRqIHmKCWCNOiDvihwQjkUgCkopsQLYixchupAI5itQj55B25DLSj9xDHiMTyCzyCfmBYigryoOKorKoKqqHmqOOqCe6Ho1Ek9AsNA8tQQ+gNehptAW9jA6gI+g4+hZdwABjwfgwCUwZ08MsMRfMH4vAGNgmrAgrx2qws1gHdgO7j41jc9h3nIhz41RcGTfE7XAvPBRPwjfhO/AK/CTegl/F7+MT+Dz+m8BGECEoEQwI9gRfQiQhnVBAKCecIDQTrhFGCNOEr0QikY8oR9Ql2hH9iDHEbOIO4mFiI7GXeI84RVwgkUiCJCWSMcmFRCOlkApIB0mnST2kYdI0aZHMQhYna5BtyP7kBPIWcjn5FLmbPEyeIf9k4mCSYTJgcmEKY8pkKmU6xtTBdJdpmuknMyezHLMxsydzDHMu8wHms8zXmJ8yf2ZhYZFk0WdxY4lmyWE5wNLEcpNlguU7KxerIqsl6zrWVNYS1jrWXtbHrJ/Z2Nhk2czY/NlS2ErY6tmusD1nW6RwU1Qo9pQwymZKJaWFMkx5z87ELsNuzh7InsVezn6B/S77HAcThyyHJQeNYxNHJUc7x0OOBU5uTnVOF854zh2cpzj7OV9zkbhkuay5wrjyuGq5rnBNcWPcUtyW3KHcW7mPcV/jnuYh8sjx2PPE8BTznOEZ5Jnn5eLV4vXmzeCt5O3iHefD+GT57Pni+Er5zvON8v3gF+U35w/n385/ln+Y/5uAsICZQLhAkUCjwIjAD0GqoLVgrGCZYKvgMyFcSFHITShdqEromtCcMI+woXCocJHweeExEVREUcRdJFukVuS2yIKomKitKF30oOgV0TkxPjEzsRixvWLdYrPi3OIm4tHie8V7xN9Qeanm1DjqAepV6ryEiISdRKrEUYlBiZ+ScpJeklskGyWfSTFL6UlFSO2V6pOalxaXdpbeIN0gPSbDJKMnEyWzX+aGzDdZOVkf2W2yrbKv5QTk7OWy5BrknsqzyZvKJ8nXyD9QICroKcQqHFYYUkQVtRWjFCsV7yqhSjpK0UqHle6tIazRX5OwpmbNQ2VWZXPlNOUG5QkVPhUnlS0qrSrvVaVV/VXLVG+o/lbTVotTO6b2RJ1L3UF9i3qH+icNRY1QjUqNB5psmjaamzXbND9qKWmFa1VpPdLm1nbW3qbdp/1LR1eHoXNWZ1ZXWjdY95DuQz0ePVe9HXo39Qn6Fvqb9Tv1vxvoGKQYnDf4YKhsGGt4yvC1kZxRuNExoyljSWOa8VHjcROqSbDJEZNxUwlTmmmN6aSZlFmY2QmzGXMF8xjz0+bvLdQsGBbNFt8sDSw3WvZaYVa2VkVWg9Zc1l7WFdbPbSRtIm0abOZttW2zbXvtCHaOdmV2D+1F7UPt6+3nHXQdNjpcdWR19HCscJx0UnRiOHU4o84Oznucn66VWZuwttUFXOxd9rg8c5VzTXK95EZ0c3WrdHvlru6+wf2GB7dHkMcpj6+eFp6lnk+85L1Svfq82b3Xedd7f/Ox8tntM+6r6rvRd8BPyC/ar82f5O/tf8J/IcA6YF/A9DrtdQXrRtfLrc9Y3x8oFBgX2BXEHkQLuhBMCPYJPhW8RHOh1dAWQuxDDoXMh1qG7g99G2YWtjdsNtw4fHf4TIRxxO6I15HGkXsiZ6NMo8qj5qItoyuiP8bYxVTHfIt1ia2LXY7ziWuMJ8cHx7cncCXEJlxNFEvMSLxHV6IX0MeTDJL2Jc0zHBknkpHk9cltKTwp9JTbqfKp+akTaSZplWmL6d7pFzI4MxIybmcqZm7PnMmyyTqejWeHZvdtkNiQu2Fio/nGo5uQTSGb+jZLbc7bPJ1jm3Mylzk3NvfOFrUtu7d82eqztSNPNC8nbyrfNr+hgFLAKHi4zXBbdSFeGF04uF1z+8Htv4vCim4VqxWXFy/tCN1xa6f6zgM7l0siSgZLdUqrdhF3JewaLTMtO7mbc3fW7qk9znta9lL3Fu39si9oX3+5Vnn1fub9qfvHDzgdaDsofXDXwaWKqIqRSovKxkMih7Yf+nY47PBwlVnV2WrR6uLqH0eijzw6anu0pUa2pryWWJtW++qY97Ebx/WO158QOlF84lddQt34SfeTV+t16+tPiZwqbUAbUhtmT687PXTG6kzbWeWzRxv5GouboCm16c254HOj5x3P913Qu3D2oszFQ83czUUtSEtmy3xrVOt4m1/bvXaH9r4Ow47mSyqX6jolOiu7eLtKu5m787qXe7J6FnrpvXOXIy9P9QX1Pbnie+XBVberg9ccr928bnP9yg3zGz03jW929hv0t9/Su9U6oDPQclv7dvMd7TvNgzqDLXd177YN6Q913DO61z1sOnz5vtX96w/sHwyMrB25N+o1+ujhuofjj8IevX4c9/jjWNrYzyc5TwlPi55xPCt/LvK85oXCi8ZxnfGuCauJ25Mek0+mQqfevkx+uTSd94rtVfmM+Ez9a43XnbM2s0NvAt5Mv6W//TlX8I7z3aH38u8vfjD7cHved376I+Pj8qcdnwU/133R+tK34Lrw/Gv815/fihYFF09+1/t+44fPj5mf6UukpQO/FH51/Hb8/XQ5fnmZTmPQAAAAAwA0IgLgUx0Amx8A9xAAM2Xl+2t1YQgACgAkEAMHKIYpRBFJQHpRQTQFHcPssSu4Lf6AEE/kJPaRNpBNmEhMz5jbWQ6xlrLVUZ5ycHA6cm3n7ufl5FvHf1oQF6IJd4lSxXaIL0qESY5Jr5Xpl1OVL1F4q2S/plr5q6ql2k71IU02LQvtZJ1Dur164/q/DPmNlIz1TaxN3c1CzZMt8iz3WzVY99jct521W3bgdVzjZOkcsDbaJc013223e7VHg2erV5/3gM+w72O/F/5TAa/XvVv/OvBp0GBwD60xpCp0Z1hWeESEW6RhlHQ0JfprzIvY63H18TsT6IkedN0koaQlxvPk3pTa1Py0iHT7DKVM5sw3WbezmzYc2Ji3KX1zUg4jN2tL0dajeV35L7YxFRptpxfVFo/uZC4xKo3fVVU2uPvX3jX7AsqL9rccGK9gqdQ+FHR4e9X56idH8RrlWu9jm4+fPHGvbrGeesqpYcPp82c+Nho0lZ77cCHg4t0Wl9YH7UYdKZfqO592s/Ro9npfTurLv1J2tfxa+fWyG4U3t/Zvu7VzYOft/Dspgz53Ve7+HOq9lz2sM/z1/sMH7SMVoxsfBj2yeCwzxjT27sm9p83PKp5vfBE8bjWhMMkx+X3q1cvR6f5Xl2cuvW6fbX9z/G3JXNq7wPfWH5TmOeYXPo596v589Ev+QtRXx2+qi9yL374//dH7s2Yp71f4b6tlyeVlACCCEJhBBlxDuBEnZBfyAtVES9DPWBA2invhzwh0IoXYSgonC5HHmA4xR7JYsBqzeVKi2HM4jnBe5prl4eW14svkbxT4IKQizBDpFGMR96aekliWMpfOlemRXZLXVYhRPKw0sOaTCq+qppqdeoBGpGaSVqb2Rp0s3Ri9AH0nA2NDNSNJY14TsskP03dmE+YjFrcsu60uWNfZHLAttEu3j3Lwc7Rz0nOWW8vrgrt8cZ10u+fe69HkWeVV6J3sE+hr76fpLxpADHi/bnR9V2BtUFFwIs0zRCuUNXQyrD28NCIi0iiKM+pV9KWYstjwOIN49viphNbEQrpfklLSEmMw+UgKI9UyjTdtJr09Y0dmYJZaNpr9cEPjxuJN8Zu9cqxyDbbobzXOs8v3LUjYtq3w+PYrRRPFv3eKlOiXeu9KLtu1+/Se/r2vytH9Igd0DrpVxFcWHzp9eKjq6xHJo641W2vbj308oVKXdPJi/bcG/dMbznQ3QpP5ua3nr10kNNu2FLbeaCd1WF/a0tnV9aVHttfjcnZf1ZVLV0euzV7/dhPv574lMaB62/iO06D/3aih9HsFw/vu1zxoHOkc7X84+mj68Zcn2FOeZzLP9V44jUdO1E7OvpSb9n9VMHPq9Y3ZiTeLc5R3Mu9NPwTM53wc+qz5Zc/C52/uixd/CPzMX1r8nb68DAA4cIIirIUc6EVIiAGSgrSiKOqMHkF/YoHYLdwIbyHoEfqIrsQpUjZZmHyDaSdzKIsRqzDrb7ZJygB7M8dxzgNcJdyFPPm8BXzF/HsEqgUbhNqEu0S6RLvFesS7qZckmiUbpA5LF8ukyq6TM5OXVACFJ4qtSsVrvJWpym9UmlVz1BzV+dQnNBo0U7VMtZm07+sc1o3S09Jb1O82yDd0NOIyGjOuMYkx1TBdMrtuXmax3lLR8pvVFetSmwBbOdtPdt32RQ7ejhKOb51anHPWOrnwuUy4Nrgluxt6oB63PHd7+XtTvWd8zvqm+hn6o/79AaXrPNbzrX8cWBm0Plg0+BntcMj6UJHQsbAD4d4R3BF3I4ujrKMh+lJMWqx67FxcXXxIgkjCw8Q99LVJ5KTLjKxkzeS5lOOpgWn8aXfTt2WYZixmNmVFZ1OzH2/Yu9Fzk+Cm6c1tOXtzM7dEbF2X55cfUBC+LbUwf3t50Ynilh3Xd46UTJd+KcN2c++R3Ku2z6Dccr/DAbeDfhUhlYmHNh/eU3W6euDIhxqZ2sxjQyfk6jadHD2l3JB3+slZ9cbCpufndS4UX3zRotm6re1ph+alos7JbqOeA71f+zyvNF+Tu37spnL/tYHYO9KDc0M3hs89qB9tenR57NkzeKE2UfeyYKboTet79o+FCwKLzUs+y8sAK//hAACIOgDHpwC8jwK4BQDUKQHIVAJQeABc2QA89QG1KAXk8UFAbM/+fX+wgRzYQARsg5PQD28RCqKOeCFZyGGkE3mCLKGiqCkaghagp9C76BdMGDPHorBdWDs2ibPg2ngwvgNvw18SuAimhATCUcIIkZloTswgnifOkeRJkaQ60ixZhZxK7mFiYfJnOs2MMPsyn2ehsCSwDLPqsR5hI7Mx2J5THCjt7PLsFRxsHLkc3zgTOV9zhXK94A7hnuGJ5/nKm8tH4TvMr8p/RSBAYEGwTEhd6L5wuoioyJDoNjELcRC/TM2XcJYUlHwtdUm6TCZG1kZORp5VfkFhUnFY6eqaDuULKk2qjWrn1ds0ejUHtJ5rf9TF9Xj1pQyUDdWN1IwVTaimXGao2QfzJxY9ljVWhdaJNr62Fnaq9mIO7I6Y46LTvPObtdMuk64Tbi/d33p89vzlzeTD7yvnp+/vHBC6Lnv9vsCmoMHgdyGUUM0wv/DNEbWR16Kmon/FcsVJxCsmqCQq0xWSJBl8yUzJP1Jm04TSnTPyMnuyfm+w3rhn09sc59xLW7Xy2gvst01t31YsseNsiVnpeFnZHt99xvvtD6ZXXqsSPkKpQWu/H/9U975+rmHuzIfGhXO/LpJbhNtUO6w6/bqje9P6Nl3Nub7xZtqtuNvBg8VDbcNvRiQern9c/eTVc/Xx3MmRaaWZwtmZOdv3pz5yfM5eeLcY8WPmF315GQDYQQXcIBUqoAdeIiyIBhKA5CH1yADyAeVBDdBgtBBtQh9jGKaM+WH52DnsBc6GG+GxeCV+B/9NUCeEEQ4RRojsRCfiduJNEjPJmbSbNEaWITPIfUx8THFM15mlmLcwT7M4sHSwKrFWs/Gy7aAQKVvYgT2XA+Mo5KRw7ueS5GrkNuMe4YnnJfLW8JnzTfIXCCgLjArmCqkJjQvvEbETxUX7xLaK21BZqaMSNZLJUjbSYtKLMqOyrXJH5PcrlCmWKJWs2a1coXJCtVntpvpzjW9avNoGOqG6JXpd+h8MZYyCjCtNnpiJmYdZNFr+tLa2KbYdsCc46DqGOBU4n1h72WXMdd4d9+DzVPQy8/bzSfYt9TvrPxjwcT1foHFQRHAZrTvkfZhUuG9EaeT1qF8xWrHRcVXx9xJRukZSMKMk+VLK6zT2dN2M4MzirLbsmY38m+w3b8w5n/tmq1Te+vyKgkeF/Nv9iqqKX+5ULskovV4msDtxz+19auWVBygHt1eyHtpXJVd942h0Leux8yf8T+L1TQ1BZzjOXmnKOK964XVzXWt0u3LHp86O7i29Tn38V6auNd3Y0O8wIHh7aNDr7tS9rPtiDwZHix95jMk+RZ5Nvrg+0TBVOs2Y8ZgVflM9J/fu3AeT+cFPQZ8/LOR8Y188+EPsZ/Uvod+ly8sAwA/mQIdquAvLiAYSgRxEriGfUUnUHc1DW9E5TALzxXZh/TiGm+BZeCu+QNAmpBG6iASiC7GS+IZkSNpFek22Ih9jIjPRmZ4yOzH3suiydLBasN5m82N7Q9nEzsvexOHC8ZGznMuEa5b7MI8HLxvvLb7t/E4CXAJjgseFGMLmItwib0Wvix0TL6DGSnhKmktpSMvJiMsKywnJUxWUFPWVHNfQlDeoVKh2qb3UoGgaaTG0z+p80NPWzzUYNpI3zjN5ZeZk3mqpZHXMRsK21l7BodnJyvmRC92N1b3JM8CbyafLLy1Aa91iYG/wzpDAMJ0I1sjH0RWx9nGzCZmJS0kpjOkU19QL6ZwZjMwH2QYbjm5i2ZyRM7PFd+vtfIuCjkKt7S3Fxjv6S/xK35Zt2sO5t6ZcdX/7QZOKnkNGh1uqCUecju6reXFM8Xj6iWsneesjTnWcppwJO9vZxHuOfn7gonxzUcu7Nrf21ktinQVd73t8ei/3KV3Zd3X5esyNB/1mtxpu891JHrw1JHwvavj0/TcjUqM+D7c8Ovn41tj0k6VnHM/FXyiNa08YTJpMmb00mzZ5ZTCj+1p9VvGN5FvK29m59nfp77Xfz304Pu/3kflj56eIzxyf276sW4CFmq8WXye/bV4UWWz/7vV9/seOn3I/+5YClxZ/7fmt+rt/OWx5GSA5QlNjZSeK1QKA8Hx5+bMsAGk3wK+y5eWfNcvLv2oBsKcAvXErezsAAEQOgEO1/9sey38BOi/O6KPLSP4AADwwaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzAxNCA3OS4xNTY3OTcsIDIwMTQvMDgvMjAtMDk6NTM6MDIgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICAgICAgICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChNYWNpbnRvc2gpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE1LTA1LTE1VDEwOjM4OjU1KzAyOjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNS0wNS0xNVQxMDozODo1NSswMjowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTUtMDUtMTVUMTA6Mzg6NTUrMDI6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjU4ZmM5Yzg4LWFiYWUtNGEzMC1iNGUxLTUyMTQyZWYzMzM4NDwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjM4YmMxOTAwLTNiNmMtMTE3OC05ZDQ5LWY0MzVhZTM4NTFiMTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmQ1ZjJhY2QyLTQ2ZDUtNGVlZS05NDllLThkMDI0MTljZjA3ODwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpkNWYyYWNkMi00NmQ1LTRlZWUtOTQ5ZS04ZDAyNDE5Y2YwNzg8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTUtMDUtMTVUMTA6Mzg6NTUrMDI6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChNYWNpbnRvc2gpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo1OGZjOWM4OC1hYmFlLTRhMzAtYjRlMS01MjE0MmVmMzMzODQ8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTUtMDUtMTVUMTA6Mzg6NTUrMDI6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChNYWNpbnRvc2gpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6U2VxPgogICAgICAgICA8L3htcE1NOkhpc3Rvcnk+CiAgICAgICAgIDxwaG90b3Nob3A6VGV4dExheWVycz4KICAgICAgICAgICAgPHJkZjpCYWc+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8cGhvdG9zaG9wOkxheWVyTmFtZT7DlzwvcGhvdG9zaG9wOkxheWVyTmFtZT4KICAgICAgICAgICAgICAgICAgPHBob3Rvc2hvcDpMYXllclRleHQ+w5c8L3Bob3Rvc2hvcDpMYXllclRleHQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHBob3Rvc2hvcDpMYXllck5hbWU+YTwvcGhvdG9zaG9wOkxheWVyTmFtZT4KICAgICAgICAgICAgICAgICAgPHBob3Rvc2hvcDpMYXllclRleHQ+YTwvcGhvdG9zaG9wOkxheWVyVGV4dD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOkJhZz4KICAgICAgICAgPC9waG90b3Nob3A6VGV4dExheWVycz4KICAgICAgICAgPHBob3Rvc2hvcDpDb2xvck1vZGU+MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHBob3Rvc2hvcDpJQ0NQcm9maWxlPkRpc3BsYXk8L3Bob3Rvc2hvcDpJQ0NQcm9maWxlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MTk8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MTc8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/Pmkb7KYAAAAgY0hSTQAAbZgAAHOOAAD6zAAAhPoAAHmBAAD9EwAAMG0AABIpDR4mTgAAAOZJREFUeNrMlL0NwyAQhZ+jLJAVkE4M4BVMR50RvIIzAivYI6S+zh4hHgAhZYWM4DTnCCFsoshFnkQBB9/9impZFhylEw5UFsaaatbUbj1iTR1ruhRhrKkGMALoWVOXsY8AHIAHa1KlyO4AVq+ONbkE1MhWAejjh+cMbBDPqzqJQAGoM3c/qnLdlPRcod7G+jAVYQJs0zT2QKXRmADMufMcaC9NJR1VW46sD6YI2wC9og7HkV+tD6/SaKQgIytWk9Y0B5tTkPVhljqZnbubNevFs7E+PBNbI9HfrA/DV6Pxn7/Gr3oPAAwLXEdIhTGuAAAAAElFTkSuQmCC);-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}input.valid,select.valid{border-color:#468847;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAARCAYAAAA/mJfHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAYSmlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjarVllVBV/t94TJ6hDdx26pLu7QboVOHRzODQYoIAICmKggoKCiogKBiklJqKIKKhYhIgoKgaKinI/gP7f9733frhr3d+HWc888+y9n73XrJk18wMQFqDR6XEoB0B8QgrD3daC6uvnTyW9ABSEgAJrQJUWmkw3d3V1gv95IQBfRwEBALivTKPT4+D/tjjDwpNDARBXAAgJSw6NB0AuAuBCoXRGCgBhCACk0lPoKQCELwDAw/D18wcgkgGAJ3IFiwAAT8gKVgMAHoanuyUA0QqAzEqjMSIBKK4AQE0LjUwBoNABiFwJYdEJADx5AEST0ChaGIDQVQBYEx+fGAYgNA8A8iH/kify33KG/M1Jo0X+xSu9AAAA2So6mR5Hy4T/7xUfl/qnhiQAsEYx7NwBgAcAORmb6OgOAKwASGdCyFoXAOACQG5GhwGs4rGoVDuvVf1caLKlPwDwAaAQRrNyBAARAJQvNdbLfBVr0BgAK3p0bXSKvecqDmEkuq/mR9PCk609/uCocHun1ZyFCXFr/+CqiGgbewDgAEAvZkV5+qz4RK+mRXuvBQAKADqUHOvhuKp/nhVlufaPhpHq7gUA0gDolwiGjfuKBhOIT/7TF6YSSrP2AAABAMwsJcrTbiUW8w1P9nX64y0s3Mp6xQMWFp7gteoZS6GnWLivxhbQ41xX9VhVeJyt+8qcsabkNI8/scMpDM/VmWOTMTQH1xX/2Fd6iqvnijccByewBCugQipQIQQSIQaiB+da54C6esUGaMCASAgH5VXmT4QP0IABCUADD8iCd5AA4ZD8N84CaMCAcEiDBPj1l105KkME0IABaRAOyRALr4AB8bgQboIb4k64CW6Gm+AauB6u/yeOyv6nKtGaaEW0I9oQFf76CIVEiINEYED0f+f+iSS8ItwjTBJGCOOEx+AIcRAOqcCAcEj425k3vAQGRP85D4rewvgP51RwhnFIXZ1KOIRAAsz+0eCyuAaujVvgxrgJrg9UnA8XAmVcC9fDzXFT3BDXxvX/zWHqXxf/zPI/64VDwr/1uMpTFCnaqy5C/vq3/Kv6zyyW/zKjMEgEx/9UYoXYBewGdhnrxzqxVqBiPVgbdhvrwlr/5U54CQyI/FvNHcIhAWIhDqL/aNQa1GbVlv5bddqqAwaEQzJASnhGCgCAZSI9kxEdGZVCNafT48Kp9gmhKmuoGmrq2gC+fv7UlcfHZ3dAAADhu/sPl6gOoB8KgGz9hwt+D9AaA0Dm+oeTbQVg1wDo3x+aykhb4XAAAAIwAzvwgCCIgRTIgzJogA4YghlYgwO4gCf4QSCEQhTEAwPSYQPkQgEUwy7YBxVQDbVwEs7AeWiFTrgM12EAhmAEnsA4TMNbmIev8BNBEBLChnAjgog4IoMoIRqIHmKCWCNOiDvihwQjkUgCkopsQLYixchupAI5itQj55B25DLSj9xDHiMTyCzyCfmBYigryoOKorKoKqqHmqOOqCe6Ho1Ek9AsNA8tQQ+gNehptAW9jA6gI+g4+hZdwABjwfgwCUwZ08MsMRfMH4vAGNgmrAgrx2qws1gHdgO7j41jc9h3nIhz41RcGTfE7XAvPBRPwjfhO/AK/CTegl/F7+MT+Dz+m8BGECEoEQwI9gRfQiQhnVBAKCecIDQTrhFGCNOEr0QikY8oR9Ql2hH9iDHEbOIO4mFiI7GXeI84RVwgkUiCJCWSMcmFRCOlkApIB0mnST2kYdI0aZHMQhYna5BtyP7kBPIWcjn5FLmbPEyeIf9k4mCSYTJgcmEKY8pkKmU6xtTBdJdpmuknMyezHLMxsydzDHMu8wHms8zXmJ8yf2ZhYZFk0WdxY4lmyWE5wNLEcpNlguU7KxerIqsl6zrWVNYS1jrWXtbHrJ/Z2Nhk2czY/NlS2ErY6tmusD1nW6RwU1Qo9pQwymZKJaWFMkx5z87ELsNuzh7InsVezn6B/S77HAcThyyHJQeNYxNHJUc7x0OOBU5uTnVOF854zh2cpzj7OV9zkbhkuay5wrjyuGq5rnBNcWPcUtyW3KHcW7mPcV/jnuYh8sjx2PPE8BTznOEZ5Jnn5eLV4vXmzeCt5O3iHefD+GT57Pni+Er5zvON8v3gF+U35w/n385/ln+Y/5uAsICZQLhAkUCjwIjAD0GqoLVgrGCZYKvgMyFcSFHITShdqEromtCcMI+woXCocJHweeExEVREUcRdJFukVuS2yIKomKitKF30oOgV0TkxPjEzsRixvWLdYrPi3OIm4tHie8V7xN9Qeanm1DjqAepV6ryEiISdRKrEUYlBiZ+ScpJeklskGyWfSTFL6UlFSO2V6pOalxaXdpbeIN0gPSbDJKMnEyWzX+aGzDdZOVkf2W2yrbKv5QTk7OWy5BrknsqzyZvKJ8nXyD9QICroKcQqHFYYUkQVtRWjFCsV7yqhSjpK0UqHle6tIazRX5OwpmbNQ2VWZXPlNOUG5QkVPhUnlS0qrSrvVaVV/VXLVG+o/lbTVotTO6b2RJ1L3UF9i3qH+icNRY1QjUqNB5psmjaamzXbND9qKWmFa1VpPdLm1nbW3qbdp/1LR1eHoXNWZ1ZXWjdY95DuQz0ePVe9HXo39Qn6Fvqb9Tv1vxvoGKQYnDf4YKhsGGt4yvC1kZxRuNExoyljSWOa8VHjcROqSbDJEZNxUwlTmmmN6aSZlFmY2QmzGXMF8xjz0+bvLdQsGBbNFt8sDSw3WvZaYVa2VkVWg9Zc1l7WFdbPbSRtIm0abOZttW2zbXvtCHaOdmV2D+1F7UPt6+3nHXQdNjpcdWR19HCscJx0UnRiOHU4o84Oznucn66VWZuwttUFXOxd9rg8c5VzTXK95EZ0c3WrdHvlru6+wf2GB7dHkMcpj6+eFp6lnk+85L1Svfq82b3Xedd7f/Ox8tntM+6r6rvRd8BPyC/ar82f5O/tf8J/IcA6YF/A9DrtdQXrRtfLrc9Y3x8oFBgX2BXEHkQLuhBMCPYJPhW8RHOh1dAWQuxDDoXMh1qG7g99G2YWtjdsNtw4fHf4TIRxxO6I15HGkXsiZ6NMo8qj5qItoyuiP8bYxVTHfIt1ia2LXY7ziWuMJ8cHx7cncCXEJlxNFEvMSLxHV6IX0MeTDJL2Jc0zHBknkpHk9cltKTwp9JTbqfKp+akTaSZplWmL6d7pFzI4MxIybmcqZm7PnMmyyTqejWeHZvdtkNiQu2Fio/nGo5uQTSGb+jZLbc7bPJ1jm3Mylzk3NvfOFrUtu7d82eqztSNPNC8nbyrfNr+hgFLAKHi4zXBbdSFeGF04uF1z+8Htv4vCim4VqxWXFy/tCN1xa6f6zgM7l0siSgZLdUqrdhF3JewaLTMtO7mbc3fW7qk9znta9lL3Fu39si9oX3+5Vnn1fub9qfvHDzgdaDsofXDXwaWKqIqRSovKxkMih7Yf+nY47PBwlVnV2WrR6uLqH0eijzw6anu0pUa2pryWWJtW++qY97Ebx/WO158QOlF84lddQt34SfeTV+t16+tPiZwqbUAbUhtmT687PXTG6kzbWeWzRxv5GouboCm16c254HOj5x3P913Qu3D2oszFQ83czUUtSEtmy3xrVOt4m1/bvXaH9r4Ow47mSyqX6jolOiu7eLtKu5m787qXe7J6FnrpvXOXIy9P9QX1Pbnie+XBVberg9ccr928bnP9yg3zGz03jW929hv0t9/Su9U6oDPQclv7dvMd7TvNgzqDLXd177YN6Q913DO61z1sOnz5vtX96w/sHwyMrB25N+o1+ujhuofjj8IevX4c9/jjWNrYzyc5TwlPi55xPCt/LvK85oXCi8ZxnfGuCauJ25Mek0+mQqfevkx+uTSd94rtVfmM+Ez9a43XnbM2s0NvAt5Mv6W//TlX8I7z3aH38u8vfjD7cHved376I+Pj8qcdnwU/133R+tK34Lrw/Gv815/fihYFF09+1/t+44fPj5mf6UukpQO/FH51/Hb8/XQ5fnmZTmPQAAAAAwA0IgLgUx0Amx8A9xAAM2Xl+2t1YQgACgAkEAMHKIYpRBFJQHpRQTQFHcPssSu4Lf6AEE/kJPaRNpBNmEhMz5jbWQ6xlrLVUZ5ycHA6cm3n7ufl5FvHf1oQF6IJd4lSxXaIL0qESY5Jr5Xpl1OVL1F4q2S/plr5q6ql2k71IU02LQvtZJ1Dur164/q/DPmNlIz1TaxN3c1CzZMt8iz3WzVY99jct521W3bgdVzjZOkcsDbaJc013223e7VHg2erV5/3gM+w72O/F/5TAa/XvVv/OvBp0GBwD60xpCp0Z1hWeESEW6RhlHQ0JfprzIvY63H18TsT6IkedN0koaQlxvPk3pTa1Py0iHT7DKVM5sw3WbezmzYc2Ji3KX1zUg4jN2tL0dajeV35L7YxFRptpxfVFo/uZC4xKo3fVVU2uPvX3jX7AsqL9rccGK9gqdQ+FHR4e9X56idH8RrlWu9jm4+fPHGvbrGeesqpYcPp82c+Nho0lZ77cCHg4t0Wl9YH7UYdKZfqO592s/Ro9npfTurLv1J2tfxa+fWyG4U3t/Zvu7VzYOft/Dspgz53Ve7+HOq9lz2sM/z1/sMH7SMVoxsfBj2yeCwzxjT27sm9p83PKp5vfBE8bjWhMMkx+X3q1cvR6f5Xl2cuvW6fbX9z/G3JXNq7wPfWH5TmOeYXPo596v589Ev+QtRXx2+qi9yL374//dH7s2Yp71f4b6tlyeVlACCCEJhBBlxDuBEnZBfyAtVES9DPWBA2invhzwh0IoXYSgonC5HHmA4xR7JYsBqzeVKi2HM4jnBe5prl4eW14svkbxT4IKQizBDpFGMR96aekliWMpfOlemRXZLXVYhRPKw0sOaTCq+qppqdeoBGpGaSVqb2Rp0s3Ri9AH0nA2NDNSNJY14TsskP03dmE+YjFrcsu60uWNfZHLAttEu3j3Lwc7Rz0nOWW8vrgrt8cZ10u+fe69HkWeVV6J3sE+hr76fpLxpADHi/bnR9V2BtUFFwIs0zRCuUNXQyrD28NCIi0iiKM+pV9KWYstjwOIN49viphNbEQrpfklLSEmMw+UgKI9UyjTdtJr09Y0dmYJZaNpr9cEPjxuJN8Zu9cqxyDbbobzXOs8v3LUjYtq3w+PYrRRPFv3eKlOiXeu9KLtu1+/Se/r2vytH9Igd0DrpVxFcWHzp9eKjq6xHJo641W2vbj308oVKXdPJi/bcG/dMbznQ3QpP5ua3nr10kNNu2FLbeaCd1WF/a0tnV9aVHttfjcnZf1ZVLV0euzV7/dhPv574lMaB62/iO06D/3aih9HsFw/vu1zxoHOkc7X84+mj68Zcn2FOeZzLP9V44jUdO1E7OvpSb9n9VMHPq9Y3ZiTeLc5R3Mu9NPwTM53wc+qz5Zc/C52/uixd/CPzMX1r8nb68DAA4cIIirIUc6EVIiAGSgrSiKOqMHkF/YoHYLdwIbyHoEfqIrsQpUjZZmHyDaSdzKIsRqzDrb7ZJygB7M8dxzgNcJdyFPPm8BXzF/HsEqgUbhNqEu0S6RLvFesS7qZckmiUbpA5LF8ukyq6TM5OXVACFJ4qtSsVrvJWpym9UmlVz1BzV+dQnNBo0U7VMtZm07+sc1o3S09Jb1O82yDd0NOIyGjOuMYkx1TBdMrtuXmax3lLR8pvVFetSmwBbOdtPdt32RQ7ejhKOb51anHPWOrnwuUy4Nrgluxt6oB63PHd7+XtTvWd8zvqm+hn6o/79AaXrPNbzrX8cWBm0Plg0+BntcMj6UJHQsbAD4d4R3BF3I4ujrKMh+lJMWqx67FxcXXxIgkjCw8Q99LVJ5KTLjKxkzeS5lOOpgWn8aXfTt2WYZixmNmVFZ1OzH2/Yu9Fzk+Cm6c1tOXtzM7dEbF2X55cfUBC+LbUwf3t50Ynilh3Xd46UTJd+KcN2c++R3Ku2z6Dccr/DAbeDfhUhlYmHNh/eU3W6euDIhxqZ2sxjQyfk6jadHD2l3JB3+slZ9cbCpufndS4UX3zRotm6re1ph+alos7JbqOeA71f+zyvNF+Tu37spnL/tYHYO9KDc0M3hs89qB9tenR57NkzeKE2UfeyYKboTet79o+FCwKLzUs+y8sAK//hAACIOgDHpwC8jwK4BQDUKQHIVAJQeABc2QA89QG1KAXk8UFAbM/+fX+wgRzYQARsg5PQD28RCqKOeCFZyGGkE3mCLKGiqCkaghagp9C76BdMGDPHorBdWDs2ibPg2ngwvgNvw18SuAimhATCUcIIkZloTswgnifOkeRJkaQ60ixZhZxK7mFiYfJnOs2MMPsyn2ehsCSwDLPqsR5hI7Mx2J5THCjt7PLsFRxsHLkc3zgTOV9zhXK94A7hnuGJ5/nKm8tH4TvMr8p/RSBAYEGwTEhd6L5wuoioyJDoNjELcRC/TM2XcJYUlHwtdUm6TCZG1kZORp5VfkFhUnFY6eqaDuULKk2qjWrn1ds0ejUHtJ5rf9TF9Xj1pQyUDdWN1IwVTaimXGao2QfzJxY9ljVWhdaJNr62Fnaq9mIO7I6Y46LTvPObtdMuk64Tbi/d33p89vzlzeTD7yvnp+/vHBC6Lnv9vsCmoMHgdyGUUM0wv/DNEbWR16Kmon/FcsVJxCsmqCQq0xWSJBl8yUzJP1Jm04TSnTPyMnuyfm+w3rhn09sc59xLW7Xy2gvst01t31YsseNsiVnpeFnZHt99xvvtD6ZXXqsSPkKpQWu/H/9U975+rmHuzIfGhXO/LpJbhNtUO6w6/bqje9P6Nl3Nub7xZtqtuNvBg8VDbcNvRiQern9c/eTVc/Xx3MmRaaWZwtmZOdv3pz5yfM5eeLcY8WPmF315GQDYQQXcIBUqoAdeIiyIBhKA5CH1yADyAeVBDdBgtBBtQh9jGKaM+WH52DnsBc6GG+GxeCV+B/9NUCeEEQ4RRojsRCfiduJNEjPJmbSbNEaWITPIfUx8THFM15mlmLcwT7M4sHSwKrFWs/Gy7aAQKVvYgT2XA+Mo5KRw7ueS5GrkNuMe4YnnJfLW8JnzTfIXCCgLjArmCqkJjQvvEbETxUX7xLaK21BZqaMSNZLJUjbSYtKLMqOyrXJH5PcrlCmWKJWs2a1coXJCtVntpvpzjW9avNoGOqG6JXpd+h8MZYyCjCtNnpiJmYdZNFr+tLa2KbYdsCc46DqGOBU4n1h72WXMdd4d9+DzVPQy8/bzSfYt9TvrPxjwcT1foHFQRHAZrTvkfZhUuG9EaeT1qF8xWrHRcVXx9xJRukZSMKMk+VLK6zT2dN2M4MzirLbsmY38m+w3b8w5n/tmq1Te+vyKgkeF/Nv9iqqKX+5ULskovV4msDtxz+19auWVBygHt1eyHtpXJVd942h0Leux8yf8T+L1TQ1BZzjOXmnKOK964XVzXWt0u3LHp86O7i29Tn38V6auNd3Y0O8wIHh7aNDr7tS9rPtiDwZHix95jMk+RZ5Nvrg+0TBVOs2Y8ZgVflM9J/fu3AeT+cFPQZ8/LOR8Y188+EPsZ/Uvod+ly8sAwA/mQIdquAvLiAYSgRxEriGfUUnUHc1DW9E5TALzxXZh/TiGm+BZeCu+QNAmpBG6iASiC7GS+IZkSNpFek22Ih9jIjPRmZ4yOzH3suiydLBasN5m82N7Q9nEzsvexOHC8ZGznMuEa5b7MI8HLxvvLb7t/E4CXAJjgseFGMLmItwib0Wvix0TL6DGSnhKmktpSMvJiMsKywnJUxWUFPWVHNfQlDeoVKh2qb3UoGgaaTG0z+p80NPWzzUYNpI3zjN5ZeZk3mqpZHXMRsK21l7BodnJyvmRC92N1b3JM8CbyafLLy1Aa91iYG/wzpDAMJ0I1sjH0RWx9nGzCZmJS0kpjOkU19QL6ZwZjMwH2QYbjm5i2ZyRM7PFd+vtfIuCjkKt7S3Fxjv6S/xK35Zt2sO5t6ZcdX/7QZOKnkNGh1uqCUecju6reXFM8Xj6iWsneesjTnWcppwJO9vZxHuOfn7gonxzUcu7Nrf21ktinQVd73t8ei/3KV3Zd3X5esyNB/1mtxpu891JHrw1JHwvavj0/TcjUqM+D7c8Ovn41tj0k6VnHM/FXyiNa08YTJpMmb00mzZ5ZTCj+1p9VvGN5FvK29m59nfp77Xfz304Pu/3kflj56eIzxyf276sW4CFmq8WXye/bV4UWWz/7vV9/seOn3I/+5YClxZ/7fmt+rt/OWx5GSA5QlNjZSeK1QKA8Hx5+bMsAGk3wK+y5eWfNcvLv2oBsKcAvXErezsAAEQOgEO1/9sey38BOi/O6KPLSP4AADwwaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzAxNCA3OS4xNTY3OTcsIDIwMTQvMDgvMjAtMDk6NTM6MDIgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICAgICAgICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChNYWNpbnRvc2gpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE1LTA1LTE1VDEwOjM5OjExKzAyOjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNS0wNS0xNVQxMDozOToxMSswMjowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTUtMDUtMTVUMTA6Mzk6MTErMDI6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOmU3ODMyNmIwLTQ5NmItNGMyMy05ZGI1LTI4OTRkMWQxZWZmYzwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjQxZDQzYTcwLTNiNmMtMTE3OC05ZDQ5LWY0MzVhZTM4NTFiMTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjVkM2FkZDhiLTljMmUtNDU0ZC1iMjFhLTk5ZTliZDY2ODg1MDwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo1ZDNhZGQ4Yi05YzJlLTQ1NGQtYjIxYS05OWU5YmQ2Njg4NTA8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTUtMDUtMTVUMTA6Mzk6MTErMDI6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChNYWNpbnRvc2gpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplNzgzMjZiMC00OTZiLTRjMjMtOWRiNS0yODk0ZDFkMWVmZmM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTUtMDUtMTVUMTA6Mzk6MTErMDI6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChNYWNpbnRvc2gpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6U2VxPgogICAgICAgICA8L3htcE1NOkhpc3Rvcnk+CiAgICAgICAgIDxwaG90b3Nob3A6VGV4dExheWVycz4KICAgICAgICAgICAgPHJkZjpCYWc+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8cGhvdG9zaG9wOkxheWVyTmFtZT7DlzwvcGhvdG9zaG9wOkxheWVyTmFtZT4KICAgICAgICAgICAgICAgICAgPHBob3Rvc2hvcDpMYXllclRleHQ+w5c8L3Bob3Rvc2hvcDpMYXllclRleHQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHBob3Rvc2hvcDpMYXllck5hbWU+YTwvcGhvdG9zaG9wOkxheWVyTmFtZT4KICAgICAgICAgICAgICAgICAgPHBob3Rvc2hvcDpMYXllclRleHQ+YTwvcGhvdG9zaG9wOkxheWVyVGV4dD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOkJhZz4KICAgICAgICAgPC9waG90b3Nob3A6VGV4dExheWVycz4KICAgICAgICAgPHBob3Rvc2hvcDpDb2xvck1vZGU+MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHBob3Rvc2hvcDpJQ0NQcm9maWxlPkRpc3BsYXk8L3Bob3Rvc2hvcDpJQ0NQcm9maWxlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MTk8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MTc8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/Pn/qNPoAAAAgY0hSTQAAbZgAAHOOAAD6zAAAhPoAAHmBAAD9EwAAMG0AABIpDR4mTgAAAMBJREFUeNrE1L0NwyAURtHrKAu4pPUKXsGs4AIGyGRQ2CM4K3gFt3TJCE5DgSL+7FgKEg0SB77HE82+71w1blw47mc3ais6YAGkUW47fbMA6n6Kqa1ogekbSmLaipe2ok9AC9AfeYAWmHycKqgUswOWAIxBbz8BaGJ9pq0IF1e/YYhA0ii3HmmNVKwxhHIxt8IB0ij3rK2ZDGtRAyUx39ExcExB2df09ZDB0sMoN+eyN6VfQ1sxAG0JqsL+9gV9BgBw6UeG/cRoQwAAAABJRU5ErkJggg==);-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}input[type=file].error{color:#b94a48;background:0 0;-webkit-box-shadow:none;box-shadow:none}input[type=file].valid{color:#468847;background:0 0;-webkit-box-shadow:none;box-shadow:none}.form-error{display:block;color:#b94a48;margin-top:5px;margin-bottom:10px;line-height:140%}span.help{color:#999;font-size:90%}input.validating-server-side,select.validating-server-side{opacity:.5;background-image:url(data:image/gif;base64,R0lGODlhEAAQAPQAAP///wAAAPDw8IqKiuDg4EZGRnp6egAAAFhYWCQkJKysrL6+vhQUFJycnAQEBDY2NmhoaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH+GkNyZWF0ZWQgd2l0aCBhamF4bG9hZC5pbmZvACH5BAAKAAAAIf8LTkVUU0NBUEUyLjADAQAAACwAAAAAEAAQAAAFdyAgAgIJIeWoAkRCCMdBkKtIHIngyMKsErPBYbADpkSCwhDmQCBethRB6Vj4kFCkQPG4IlWDgrNRIwnO4UKBXDufzQvDMaoSDBgFb886MiQadgNABAokfCwzBA8LCg0Egl8jAggGAA1kBIA1BAYzlyILczULC2UhACH5BAAKAAEALAAAAAAQABAAAAV2ICACAmlAZTmOREEIyUEQjLKKxPHADhEvqxlgcGgkGI1DYSVAIAWMx+lwSKkICJ0QsHi9RgKBwnVTiRQQgwF4I4UFDQQEwi6/3YSGWRRmjhEETAJfIgMFCnAKM0KDV4EEEAQLiF18TAYNXDaSe3x6mjidN1s3IQAh+QQACgACACwAAAAAEAAQAAAFeCAgAgLZDGU5jgRECEUiCI+yioSDwDJyLKsXoHFQxBSHAoAAFBhqtMJg8DgQBgfrEsJAEAg4YhZIEiwgKtHiMBgtpg3wbUZXGO7kOb1MUKRFMysCChAoggJCIg0GC2aNe4gqQldfL4l/Ag1AXySJgn5LcoE3QXI3IQAh+QQACgADACwAAAAAEAAQAAAFdiAgAgLZNGU5joQhCEjxIssqEo8bC9BRjy9Ag7GILQ4QEoE0gBAEBcOpcBA0DoxSK/e8LRIHn+i1cK0IyKdg0VAoljYIg+GgnRrwVS/8IAkICyosBIQpBAMoKy9dImxPhS+GKkFrkX+TigtLlIyKXUF+NjagNiEAIfkEAAoABAAsAAAAABAAEAAABWwgIAICaRhlOY4EIgjH8R7LKhKHGwsMvb4AAy3WODBIBBKCsYA9TjuhDNDKEVSERezQEL0WrhXucRUQGuik7bFlngzqVW9LMl9XWvLdjFaJtDFqZ1cEZUB0dUgvL3dgP4WJZn4jkomWNpSTIyEAIfkEAAoABQAsAAAAABAAEAAABX4gIAICuSxlOY6CIgiD8RrEKgqGOwxwUrMlAoSwIzAGpJpgoSDAGifDY5kopBYDlEpAQBwevxfBtRIUGi8xwWkDNBCIwmC9Vq0aiQQDQuK+VgQPDXV9hCJjBwcFYU5pLwwHXQcMKSmNLQcIAExlbH8JBwttaX0ABAcNbWVbKyEAIfkEAAoABgAsAAAAABAAEAAABXkgIAICSRBlOY7CIghN8zbEKsKoIjdFzZaEgUBHKChMJtRwcWpAWoWnifm6ESAMhO8lQK0EEAV3rFopIBCEcGwDKAqPh4HUrY4ICHH1dSoTFgcHUiZjBhAJB2AHDykpKAwHAwdzf19KkASIPl9cDgcnDkdtNwiMJCshACH5BAAKAAcALAAAAAAQABAAAAV3ICACAkkQZTmOAiosiyAoxCq+KPxCNVsSMRgBsiClWrLTSWFoIQZHl6pleBh6suxKMIhlvzbAwkBWfFWrBQTxNLq2RG2yhSUkDs2b63AYDAoJXAcFRwADeAkJDX0AQCsEfAQMDAIPBz0rCgcxky0JRWE1AmwpKyEAIfkEAAoACAAsAAAAABAAEAAABXkgIAICKZzkqJ4nQZxLqZKv4NqNLKK2/Q4Ek4lFXChsg5ypJjs1II3gEDUSRInEGYAw6B6zM4JhrDAtEosVkLUtHA7RHaHAGJQEjsODcEg0FBAFVgkQJQ1pAwcDDw8KcFtSInwJAowCCA6RIwqZAgkPNgVpWndjdyohACH5BAAKAAkALAAAAAAQABAAAAV5ICACAimc5KieLEuUKvm2xAKLqDCfC2GaO9eL0LABWTiBYmA06W6kHgvCqEJiAIJiu3gcvgUsscHUERm+kaCxyxa+zRPk0SgJEgfIvbAdIAQLCAYlCj4DBw0IBQsMCjIqBAcPAooCBg9pKgsJLwUFOhCZKyQDA3YqIQAh+QQACgAKACwAAAAAEAAQAAAFdSAgAgIpnOSonmxbqiThCrJKEHFbo8JxDDOZYFFb+A41E4H4OhkOipXwBElYITDAckFEOBgMQ3arkMkUBdxIUGZpEb7kaQBRlASPg0FQQHAbEEMGDSVEAA1QBhAED1E0NgwFAooCDWljaQIQCE5qMHcNhCkjIQAh+QQACgALACwAAAAAEAAQAAAFeSAgAgIpnOSoLgxxvqgKLEcCC65KEAByKK8cSpA4DAiHQ/DkKhGKh4ZCtCyZGo6F6iYYPAqFgYy02xkSaLEMV34tELyRYNEsCQyHlvWkGCzsPgMCEAY7Cg04Uk48LAsDhRA8MVQPEF0GAgqYYwSRlycNcWskCkApIyEAOwAAAAAAAAAAAA==);background-position:right 5px center;background-repeat:no-repeat;background-color:#FFF}div.form-error{background-color:#f2dede;padding:15px;margin-bottom:20px;border:1px solid #b94a48;border-radius:4px}div.form-error strong{font-weight:700;display:block;margin:0;padding:0 0 10px}div.form-error strong,div.form-error ul li{line-height:140%;color:#b94a48;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px}div.form-error ul,div.form-error ul li{background:0 0} \ No newline at end of file diff --git a/public/css/plugins.min.css b/public/css/plugins.min.css index ca95765dd..3fc9c6fbe 100644 --- a/public/css/plugins.min.css +++ b/public/css/plugins.min.css @@ -1,4 +1,14 @@ -.uk-accordion-content:after,.uk-article:after,.uk-block:after,.uk-clearfix:after,.uk-comment-header:after,.uk-container:after,.uk-dotnav:after,.uk-form-row:after,.uk-grid:after,.uk-htmleditor-content:after,.uk-htmleditor-navbar:after,.uk-list>li:after,.uk-modal-dialog .uk-modal-footer:after,.uk-navbar:after,.uk-pagination:after,.uk-panel:after,.uk-subnav:after,.uk-tab-center:after,.uk-tab:after,.uk-thumbnav:after,table.dataTable{clear:both}.uk-button,.uk-close,.uk-form input:not([type]),.uk-form input[type=datetime],.uk-form input[type=email],.uk-form input[type=number],.uk-form input[type=password],.uk-form input[type=search],.uk-form input[type=tel],.uk-form input[type=text],.uk-form input[type=url],.uk-form textarea,.uk-form-select select{-webkit-appearance:none}.chosen-container,.pace{-webkit-user-select:none}.chosen-container a,table.DTTT_selectable tbody tr,table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_desc_disabled{cursor:pointer}.uk-modal-caption,.uk-text-truncate,.uk-tooltip .uk-tooltip-inner{text-overflow:ellipsis;white-space:nowrap}.chosen-container-multi .chosen-choices li.search-choice span,.uk-text-break{word-wrap:break-word}.uk-hidden,.uk-invisible{visibility:hidden!important}.uk-nestable a,.uk-nestable img,.uk-sortable a,.uk-sortable img{-webkit-touch-callout:none}div.DTS tbody td,div.DTS tbody th{white-space:nowrap}div.DTS tbody tr.even{background-color:#fff}div.DTS div.DTS_Loading{position:absolute;top:50%;left:50%;width:200px;height:20px;margin-top:-20px;margin-left:-100px;z-index:1;border:1px solid #999;padding:20px 0;text-align:center;background-color:#fff;background-color:rgba(255,255,255,.5)}div.DTS div.dataTables_scrollFoot,div.DTS div.dataTables_scrollHead{background-color:#fff}div.DTS div.dataTables_scrollBody{z-index:2}div.DTS div.dataTables_scroll{background:url(../images/loading-background.png)}div.dataTables_wrapper{margin-bottom:1.25em}div.dataTables_filter label,div.dataTables_info,div.dataTables_length label{color:#999;font-weight:400}div.dataTables_length label{float:left;text-align:left;margin-bottom:0}div.dataTables_length select{width:75px;margin-bottom:0}div.dataTables_filter label{float:right;margin-bottom:0}div.dataTables_filter input{display:inline-block!important;width:auto!important;margin-bottom:0}div.dataTables_info{padding-top:2px;font-size:.875em}div.dataTables_paginate{float:right;margin:0}table.dataTable{margin:.5em 0!important;max-width:none!important;width:100%}div.dataTables_scrollBody table,div.dataTables_scrollHead table{margin-bottom:0!important}div.dataTables_scrollBody table,div.dataTables_scrollFoot table{margin-top:0!important;border-top:none}table.dataTable thead .sorting{background:url(plugins/datatables/images/sort_both.png) center right no-repeat}table.dataTable thead .sorting_asc{background:url(plugins/datatables/images/sort_asc.png) center right no-repeat}table.dataTable thead .sorting_desc{background:url(plugins/datatables/images/sort_desc.png) center right no-repeat}table.dataTable thead .sorting_asc_disabled{background:url(plugins/datatables/images/sort_asc_disabled.png) center right no-repeat}table.dataTable thead .sorting_desc_disabled{background:url(plugins/datatables/images/sort_desc_disabled.png) center right no-repeat}table.dataTable th:active{outline:0}div.dataTables_scrollBody tbody tr:first-child td,div.dataTables_scrollBody tbody tr:first-child th{border-top:none}.table tbody tr.active td,.table tbody tr.active th{background-color:#08C;color:#fff}.table tbody tr.active:hover td,.table tbody tr.active:hover th{background-color:#0075b0!important}.table-striped tbody tr.active:nth-child(odd) td,.table-striped tbody tr.active:nth-child(odd) th{background-color:#017ebc}div.DTTT{float:left;margin-bottom:0}div.DTTT .button:hover{text-decoration:none!important}ul.DTTT_dropdown.dropdown-menu li{position:relative}ul.DTTT_dropdown.dropdown-menu li:hover a{background-color:#08c;color:#fff!important}.DTTT_print_info{position:fixed;top:50%;left:50%;width:400px;height:150px;margin-left:-200px;margin-top:-75px;text-align:center;color:#333;padding:10px 30px;background:#fff;background:-webkit-linear-gradient(top,#fff 0,#f3f3f3 89%,#f9f9f9 100%);background:-moz-linear-gradient(top,#fff 0,#f3f3f3 89%,#f9f9f9 100%);background:-ms-linear-gradient(top,#fff 0,#f3f3f3 89%,#f9f9f9 100%);background:-o-linear-gradient(top,#fff 0,#f3f3f3 89%,#f9f9f9 100%);background:linear-gradient(top,#fff 0,#f3f3f3 89%,#f9f9f9 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f9f9f9', GradientType=0 );opacity:.95;border:1px solid #000;border:1px solid rgba(0,0,0,.5);-webkit-border-radius:6px;-moz-border-radius:6px;-ms-border-radius:6px;-o-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,.5);-moz-box-shadow:0 3px 7px rgba(0,0,0,.5);-ms-box-shadow:0 3px 7px rgba(0,0,0,.5);-o-box-shadow:0 3px 7px rgba(0,0,0,.5);box-shadow:0 3px 7px rgba(0,0,0,.5)}div.DTTT_print_info h6{font-weight:400;font-size:28px;line-height:28px;margin:1em}div.DTTT_print_info p{font-size:14px;line-height:20px}div.DTFC_LeftFootWrapper table,div.DTFC_LeftHeadWrapper table,table.DTFC_Cloned tr.even{background-color:#fff}div.DTFC_LeftHeadWrapper table{margin-bottom:0!important}div.DTFC_LeftBodyWrapper table{border-top:none;margin-bottom:0!important}div.DTFC_LeftBodyWrapper tbody tr:first-child td,div.DTFC_LeftBodyWrapper tbody tr:first-child th,div.DTFC_LeftFootWrapper table{border-top:none}.chosen-container{position:relative;display:inline-block;vertical-align:middle;font-size:13px;zoom:1;-moz-user-select:none;user-select:none}.chosen-container *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.chosen-container .chosen-drop{position:absolute;top:100%;left:-9999px;z-index:1010;width:100%;border:1px solid #aaa;border-top:0;background:#fff;box-shadow:0 4px 5px rgba(0,0,0,.15)}.chosen-container.chosen-with-drop .chosen-drop{left:0}.chosen-container-single .chosen-single{position:relative;display:block;overflow:hidden;padding:0 0 0 8px;height:25px;border:1px solid #aaa;border-radius:5px;background-color:#fff;background:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#fff),color-stop(50%,#f6f6f6),color-stop(52%,#eee),color-stop(100%,#f4f4f4));background:-webkit-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:-moz-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:-o-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background-clip:padding-box;box-shadow:0 0 3px #fff inset,0 1px 1px rgba(0,0,0,.1);color:#444;text-decoration:none;white-space:nowrap;line-height:24px}.chosen-container-single .chosen-default{color:#999}.chosen-container-single .chosen-single span{display:block;overflow:hidden;margin-right:26px;text-overflow:ellipsis;white-space:nowrap}.enjoyhint_btn,.enjoyhint_close_btn,.enjoyhint_close_btn::after,.enjoyhint_close_btn::before,.enjoyhint_next_btn,.enjoyhint_skip_btn{-o-text-overflow:clip;text-overflow:clip;-webkit-box-sizing:content-box}.chosen-container-single .chosen-single-with-deselect span{margin-right:38px}.chosen-container-single .chosen-single abbr{position:absolute;top:6px;right:26px;display:block;width:12px;height:12px;background:url(/js/vendor/chosen/chosen-sprite.png) -42px 1px no-repeat;font-size:1px}.chosen-container-single .chosen-single abbr:hover,.chosen-container-single.chosen-disabled .chosen-single abbr:hover{background-position:-42px -10px}.chosen-container-single .chosen-single div{position:absolute;top:0;right:0;display:block;width:18px;height:100%}.chosen-container-single .chosen-single div b{display:block;width:100%;height:100%;background:url(/js/vendor/chosen/chosen-sprite.png) 0 2px no-repeat}.chosen-container-single .chosen-search{position:relative;z-index:1010;margin:0;padding:3px 4px;white-space:nowrap}.chosen-container-single .chosen-search input[type=text]{margin:1px 0;padding:4px 20px 4px 5px;width:100%;height:auto;outline:0;border:1px solid #aaa;background:url(/js/vendor/chosen/chosen-sprite.png) 100% -20px no-repeat;font-size:1em;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-single .chosen-drop{margin-top:-1px;border-radius:0 0 4px 4px;background-clip:padding-box}.chosen-container-single.chosen-container-single-nosearch .chosen-search{position:absolute;left:-9999px}.chosen-container .chosen-results{color:#444;position:relative;overflow-x:hidden;overflow-y:auto;margin:0 4px 4px 0;padding:0 0 0 4px;max-height:240px;-webkit-overflow-scrolling:touch}.chosen-container .chosen-results li{display:none;margin:0;padding:5px 6px;list-style:none;line-height:15px;word-wrap:break-word;-webkit-touch-callout:none}.chosen-container .chosen-results li.active-result{display:list-item;cursor:pointer}.chosen-container .chosen-results li.disabled-result{display:list-item;color:#ccc;cursor:default}.chosen-container .chosen-results li.highlighted{background-color:#3875d7;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#3875d7),color-stop(90%,#2a62bc));background-image:-webkit-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:-moz-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:-o-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:linear-gradient(#3875d7 20%,#2a62bc 90%);color:#fff}.chosen-container .chosen-results li.no-results{color:#777;display:list-item;background:#f4f4f4}.chosen-container .chosen-results li.group-result{display:list-item;font-weight:700;cursor:default}.chosen-container .chosen-results li.group-option{padding-left:15px}.chosen-container .chosen-results li em{font-style:normal;text-decoration:underline}.chosen-container-multi .chosen-choices{position:relative;overflow:hidden;margin:0;padding:0 5px;width:100%;height:auto!important;height:1%;border:1px solid #aaa;background-color:#fff;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(1%,#eee),color-stop(15%,#fff));background-image:-webkit-linear-gradient(#eee 1%,#fff 15%);background-image:-moz-linear-gradient(#eee 1%,#fff 15%);background-image:-o-linear-gradient(#eee 1%,#fff 15%);background-image:linear-gradient(#eee 1%,#fff 15%);cursor:text}.chosen-container-multi .chosen-choices li{float:left;list-style:none}.chosen-container-multi .chosen-choices li.search-field{margin:0;padding:0;white-space:nowrap}.chosen-container-multi .chosen-choices li.search-field input[type=text]{margin:1px 0;padding:0;height:25px;outline:0;border:0!important;background:0 0!important;box-shadow:none;color:#999;font-size:100%;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-multi .chosen-choices li.search-choice{position:relative;margin:3px 5px 3px 0;padding:3px 20px 3px 5px;border:1px solid #aaa;max-width:100%;border-radius:3px;background-color:#eee;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-moz-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-o-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-size:100% 19px;background-repeat:repeat-x;background-clip:padding-box;box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05);color:#333;line-height:13px;cursor:default}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{position:absolute;top:4px;right:3px;display:block;width:12px;height:12px;background:url(/js/vendor/chosen/chosen-sprite.png) -42px 1px no-repeat;font-size:1px}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover{background-position:-42px -10px}.chosen-container-multi .chosen-choices li.search-choice-disabled{padding-right:5px;border:1px solid #ccc;background-color:#e4e4e4;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-moz-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-o-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);color:#666}.chosen-container-multi .chosen-choices li.search-choice-focus{background:#d4d4d4}.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close{background-position:-42px -10px}.chosen-container-multi .chosen-results{margin:0;padding:0}.chosen-container-multi .chosen-drop .result-selected{display:list-item;color:#ccc;cursor:default}.enjoyhint_hide,.pace-inactive{display:none}.chosen-container-active .chosen-single{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active.chosen-with-drop .chosen-single{border:1px solid #aaa;-moz-border-radius-bottomright:0;border-bottom-right-radius:0;-moz-border-radius-bottomleft:0;border-bottom-left-radius:0;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#eee),color-stop(80%,#fff));background-image:-webkit-linear-gradient(#eee 20%,#fff 80%);background-image:-moz-linear-gradient(#eee 20%,#fff 80%);background-image:-o-linear-gradient(#eee 20%,#fff 80%);background-image:linear-gradient(#eee 20%,#fff 80%);box-shadow:0 1px 0 #fff inset}.chosen-container-active.chosen-with-drop .chosen-single div{border-left:none;background:0 0}.chosen-container-active.chosen-with-drop .chosen-single div b{background-position:-18px 2px}.chosen-container-active .chosen-choices{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active .chosen-choices li.search-field input[type=text]{color:#222!important}.chosen-disabled{opacity:.5!important;cursor:default}.chosen-disabled .chosen-choices .search-choice .search-choice-close,.chosen-disabled .chosen-single{cursor:default}.chosen-rtl{text-align:right}.chosen-rtl .chosen-single{overflow:visible;padding:0 8px 0 0}.enjoyhint,svg:not(:root){overflow:hidden}.chosen-rtl .chosen-single span{margin-right:0;margin-left:26px;direction:rtl}.chosen-rtl .chosen-single-with-deselect span{margin-left:38px}.chosen-rtl .chosen-single div{right:auto;left:3px}.chosen-rtl .chosen-single abbr{right:auto;left:26px}.chosen-rtl .chosen-choices li{float:right}.chosen-rtl .chosen-choices li.search-field input[type=text]{direction:rtl}.chosen-rtl .chosen-choices li.search-choice{margin:3px 5px 3px 0;padding:3px 5px 3px 19px}.chosen-rtl .chosen-choices li.search-choice .search-choice-close{right:auto;left:4px}.chosen-rtl .chosen-drop,.chosen-rtl.chosen-container-single-nosearch .chosen-search{left:9999px}.enjoyhint,.pace .pace-progress{position:fixed;width:100%;top:0;left:0}.chosen-rtl.chosen-container-single .chosen-results{margin:0 0 4px 4px;padding:0 4px 0 0}.enjoyhint_btn,.enjoyhint_next_btn,.enjoyhint_skip_btn{margin:0 auto;text-align:center;letter-spacing:1px;cursor:pointer}.chosen-rtl .chosen-results li.group-option{padding-right:15px;padding-left:0}.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div{border-right:none}.chosen-rtl .chosen-search input[type=text]{padding:4px 5px 4px 20px;background:url(/js/vendor/chosen/chosen-sprite.png) -30px -20px no-repeat;direction:rtl}.chosen-rtl.chosen-container-single .chosen-single div b{background-position:6px 2px}.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b{background-position:-12px 2px}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-resolution:1.5dppx){.chosen-container .chosen-results-scroll-down span,.chosen-container .chosen-results-scroll-up span,.chosen-container-multi .chosen-choices .search-choice .search-choice-close,.chosen-container-single .chosen-search input[type=text],.chosen-container-single .chosen-single abbr,.chosen-container-single .chosen-single div b,.chosen-rtl .chosen-search input[type=text]{background-image:url(/js/vendor/chosen/chosen-sprite@2x.png)!important;background-size:52px 37px!important;background-repeat:no-repeat!important}}.pace{-webkit-pointer-events:none;pointer-events:none;-moz-user-select:none;user-select:none}.pace .pace-progress{background:#fff;z-index:2000;height:5px}.enjoyhint_next_btn,.enjoyhint_skip_btn{font:normal normal normal 17px/40px "Advent Pro",Helvetica,sans-serif;-webkit-border-radius:40px;border-radius:40px}.enjoyhint_btn,.enjoyhint_close_btn,.enjoyhint_close_btn::after,.enjoyhint_next_btn,.enjoyhint_skip_btn{-moz-box-sizing:content-box}@font-face{font-family:casino_handregular;src:url(Casino_Hand/casino_hand-webfont.eot);src:url(Casino_Hand/casino_hand-webfont.eot?#iefix) format('embedded-opentype'),url(Casino_Hand/casino_hand-webfont.woff) format('woff'),url(Casino_Hand/casino_hand-webfont.ttf) format('truetype'),url(Casino_Hand/casino_hand-webfont.svg#casino_handregular) format('svg');font-weight:400;font-style:normal}.enjoyhint{height:100%;z-index:1010;pointer-events:none}.enjoyhint_close_btn,.enjoyhint_next_btn,.enjoyhint_skip_btn{z-index:1012;pointer-events:all}.enjoyhint_close_btn,.fa,.fa-stack{display:inline-block}.enjoyhint_close_btn::after,.enjoyhint_close_btn::before{content:"";text-shadow:none;background:#fff;border:none;color:rgba(0,0,0,1);display:inline-block}.enjoyhint_disable_events{position:absolute;width:2000px;height:1500px;z-index:1011;pointer-events:all}.enjoyhint_next_btn,.enjoyhint_skip_btn{width:100px;height:40px;box-sizing:content-box}#kinetic_container,.enjoyhint_canvas{pointer-events:none;position:absolute}.enjoyhint_next_btn{position:absolute;border:2px solid #1ecd97;background:0 0;-webkit-transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0);-moz-transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0);-o-transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0);transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0)}.enjoyhint_next_btn:hover{color:rgba(255,255,255,1);background:#1ecd97}.enjoyhint_next_btn:active{border:2px solid rgba(33,224,163,1);background:rgba(33,224,163,1);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.enjoyhint_btn,.enjoyhint_skip_btn{-o-transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0)}.enjoyhint_skip_btn{position:absolute;border:2px solid #1ecd97;background:0 0;-webkit-transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0);-moz-transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0);transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0)}.enjoyhint_close_btn:active,.enjoyhint_skip_btn:active{transition:none;-webkit-transition:none;-moz-transition:none}.enjoyhint_skip_btn:hover{color:rgba(255,255,255,1);background:#1ecd97}.enjoyhint_skip_btn:active{border:2px solid rgba(33,224,163,1);background:rgba(33,224,163,1);-o-transition:none}.enjoyhint_close_btn{position:absolute;box-sizing:content-box;width:.3em;height:.3em;border:none;-webkit-border-radius:1em;border-radius:1em;font:400 8em/normal Arial,Helvetica,sans-serif;background:0 0;border:2px solid rgba(33,224,163,1)}.enjoyhint_close_btn::after,.enjoyhint_close_btn::before{width:73%;height:2px;font:400 100%/normal Arial,Helvetica,sans-serif}.enjoyhint_close_btn::before{-moz-box-sizing:content-box;box-sizing:content-box;position:absolute;top:48%;left:14%;-webkit-transform:rotateZ(45deg);transform:rotateZ(45deg)}.enjoyhint_btn,hr{box-sizing:content-box}.enjoyhint_close_btn::after{box-sizing:content-box;position:absolute;top:46%;left:15%;-webkit-transform:rotateZ(-45deg);transform:rotateZ(-45deg)}.fa-glass:before,.uk-icon-glass:before{content:"\f000"}#kinetic_container,.enjoyhint_svg_wrapper,.enjoyhint_svg_wrapper svg{width:100%;height:100%;top:0;left:0}.enjoyhint_close_btn:hover{color:rgba(255,255,255,1);background:#1ecd97;cursor:pointer}.enjoyhint_close_btn:active{border:2px solid rgba(33,224,163,1);background:rgba(33,224,163,1);-o-transition:none}.enjoyhint_btn{width:150px;height:40px;border:2px solid #1ecd97;-webkit-border-radius:40px;border-radius:40px;font:normal normal normal 17px/40px "Advent Pro",Helvetica,sans-serif;color:#1ecd97;background:0 0;-webkit-transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0);-moz-transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0);transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0)}.enjoyhint_btn:hover{color:rgba(255,255,255,1);background:#1ecd97}.enjoyhint_btn:active{border:2px solid rgba(33,224,163,1);background:rgba(33,224,163,1);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.enjoy_hint_label,.enjoyhint_svg_wrapper{-moz-transition:opacity .4s cubic-bezier(.42,0,.58,1);transition:opacity .4s cubic-bezier(.42,0,.58,1);-webkit-transition:opacity .4s cubic-bezier(.42,0,.58,1)}.uk-overlay-area,.uk-thumbnav>*>*>img{-webkit-transition:opacity .15s linear}.enjoyhint div.canvas-container{position:absolute}.enjoyhint_canvas{z-index:100;width:100%;height:100%}.enjoyhint_svg_wrapper{position:absolute;z-index:100}.enjoyhint_svg_wrapper svg{position:absolute}.enjoyhint_svg_transparent .enjoy_hint_label,.enjoyhint_svg_transparent .enjoyhint_svg_wrapper{opacity:0}.enjoy_hint_label{position:absolute;color:#fff;z-index:107;font-size:22px;font-family:casino_handregular,Arial}div.kineticjs-content{position:absolute!important}.enjoyhint_close_btn,.enjoyhint_next_btn,.enjoyhint_skip_btn{border-color:#e74c3c;color:#e74c3c}.enjoyhint_close_btn:active,.enjoyhint_close_btn:focus,.enjoyhint_close_btn:hover,.enjoyhint_next_btn:active,.enjoyhint_next_btn:focus,.enjoyhint_next_btn:hover,.enjoyhint_skip_btn:active,.enjoyhint_skip_btn:focus,.enjoyhint_skip_btn:hover{border-color:#e74c3c;background-color:#e74c3c}.mg-active-datapoint{fill:#000;font-size:.9rem;font-weight:400;opacity:.8}.mg-area1-color{fill:#00f}.mg-area2-color{fill:#05b378}.mg-area3-color{fill:#db4437}.mg-area4-color{fill:#f8b128}.mg-area5-color{fill:#5c5c5c}.mg-barplot rect.mg-bar{shape-rendering:auto;fill:#b6b6fc}.mg-barplot rect.mg-bar.active{fill:#9e9efc}.mg-barplot .mg-bar-prediction{fill:#5b5b5b}.mg-barplot .mg-bar-baseline{stroke:#5b5b5b;stroke-width:2}.mg-baselines line{opacity:1;shape-rendering:auto;stroke:#b3b2b2;stroke-width:1px}.mg-baselines text{fill:#000;font-size:.9rem;opacity:.6;stroke:none}.mg-baselines-small text{font-size:.6rem}.mg-header{cursor:default;font-size:1.2rem}.mg-header .mg-chart-description{fill:#ccc;font-family:FontAwesome;font-size:1.2rem}.mg-points circle{opacity:.65}.mg-popover{font-size:.95rem}.mg-popover-content{cursor:auto;line-height:17px}.mg-data-table{margin-top:30px}.mg-data-table thead tr th{border-bottom:1px solid #a9a9a9;cursor:default;font-size:1.1rem;font-weight:400;padding:5px 5px 8px;text-align:right}.mg-data-table thead tr th .fa{color:#ccc;padding-left:4px}.mg-data-table thead tr th .popover{font-size:1rem;font-weight:400}.mg-data-table .secondary-title{color:#a9a9a9}.mg-data-table tbody tr td{margin:2px;padding:5px;vertical-align:top}.fa.fa-pull-left,.fa.pull-left{margin-right:.3em}.mg-data-table tbody tr td.table-text{opacity:.8;padding-left:30px}.mg-x-axis line.mg-extended-x-ticks,.mg-y-axis line.mg-extended-y-ticks{opacity:.4}.mg-histogram .axis line,.mg-histogram .axis path{fill:none;opacity:.7;shape-rendering:auto;stroke:#ccc}.mg-histogram .mg-bar rect{fill:#b6b6fc;shape-rendering:auto}.mg-histogram .mg-bar rect.active{fill:#9e9efc}.mg-least-squares-line{stroke:red;stroke-width:1px}.mg-lowess-line{fill:none;stroke:red}.mg-line1-color{stroke:#4040e8}.mg-hover-line1-color{fill:#4040e8}.mg-line2-color{stroke:#05b378}.mg-hover-line2-color{fill:#05b378}.mg-line3-color{stroke:#db4437}.mg-hover-line3-color{fill:#db4437}.mg-line4-color{stroke:#f8b128}.mg-hover-line4-color{fill:#f8b128}.mg-line5-color{stroke:#5c5c5c}.mg-hover-line5-color{fill:#5c5c5c}.mg-line-legend text{font-size:.9rem;font-weight:300;stroke:none}.mg-line1-legend-color{color:#4040e8;fill:#4040e8}.mg-line2-legend-color{color:#05b378;fill:#05b378}.mg-line3-legend-color{color:#db4437;fill:#db4437}.mg-line4-legend-color{color:#f8b128;fill:#f8b128}.mg-line5-legend-color{color:#5c5c5c;fill:#5c5c5c}.fa-inverse,.simplecolorpicker span.color[data-selected]:after{color:#fff}.mg-main-area-solid svg .mg-main-area{fill:#ccf;opacity:1}.mg-markers line{opacity:1;shape-rendering:auto;stroke:#b3b2b2;stroke-width:1px}.mg-markers text{fill:#000;font-size:.8rem;opacity:.6}.mg-missing-text{opacity:.9}.mg-missing-background{stroke:#00f;fill:none;stroke-dasharray:10,5;stroke-opacity:.05;stroke-width:2}.mg-missing .mg-main-line{opacity:.1}.mg-missing .mg-main-area{opacity:.03}path.mg-main-area{opacity:.2;stroke:none}path.mg-confidence-band{fill:#ccc;opacity:.4;stroke:none}path.mg-main-line{fill:none;opacity:.8;stroke-width:1.1px}.mg-points circle{fill-opacity:.4;stroke-opacity:1}circle.mg-points-mono{fill:#00f;stroke:#00f}.mg-points circle.selected{fill-opacity:1;stroke-opacity:1}.mg-voronoi path{fill:none;pointer-events:all;stroke:none;stroke-opacity:.1}.mg-x-rug-mono,.mg-y-rug-mono{stroke:#000}.mg-x-axis line,.mg-y-axis line{opacity:1;shape-rendering:auto;stroke:#b3b2b2;stroke-width:1px}.mg-histogram .axis text,.mg-x-axis text,.mg-y-axis text{fill:#000;font-size:.9rem;opacity:.6}.mg-axis .label,.mg-x-axis .label,.mg-y-axis .label{font-size:.8rem;text-transform:uppercase;font-weight:400}.uk-article-title,.uk-panel-title{text-transform:none;font-weight:400}.mg-active-datapoint-small,.mg-x-axis-small text,.mg-y-axis-small text{font-size:.6rem}.mg-x-axis-small .label,.mg-y-axis-small .label{font-size:.65rem}.mg-year-marker text{fill:#000;font-size:.7rem;opacity:.6}.mg-year-marker line{opacity:1;shape-rendering:auto;stroke:#b3b2b2;stroke-width:1px}.mg-year-marker-small text{font-size:.6rem}/*! +.uk-accordion-content:after,.uk-article:after,.uk-block:after,.uk-clearfix:after,.uk-comment-header:after,.uk-container:after,.uk-dotnav:after,.uk-form-row:after,.uk-grid:after,.uk-htmleditor-content:after,.uk-htmleditor-navbar:after,.uk-list>li:after,.uk-modal-dialog .uk-modal-footer:after,.uk-navbar:after,.uk-pagination:after,.uk-panel:after,.uk-subnav:after,.uk-tab-center:after,.uk-tab:after,.uk-thumbnav:after,table.dataTable{clear:both}.uk-button,.uk-close,.uk-form input:not([type]),.uk-form input[type=datetime],.uk-form input[type=email],.uk-form input[type=number],.uk-form input[type=password],.uk-form input[type=search],.uk-form input[type=tel],.uk-form input[type=text],.uk-form input[type=url],.uk-form textarea,.uk-form-select select{-webkit-appearance:none}.chosen-container,.pace{-webkit-user-select:none}.chosen-container a,table.DTTT_selectable tbody tr,table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_desc_disabled{cursor:pointer}.uk-modal-caption,.uk-text-truncate,.uk-tooltip .uk-tooltip-inner{text-overflow:ellipsis;white-space:nowrap}.chosen-container-multi .chosen-choices li.search-choice span,.uk-text-break{word-wrap:break-word}.uk-hidden,.uk-invisible{visibility:hidden!important}.uk-nestable a,.uk-nestable img,.uk-sortable a,.uk-sortable img{-webkit-touch-callout:none}div.DTS tbody td,div.DTS tbody th{white-space:nowrap}div.DTS tbody tr.even{background-color:#fff}div.DTS div.DTS_Loading{position:absolute;top:50%;left:50%;width:200px;height:20px;margin-top:-20px;margin-left:-100px;z-index:1;border:1px solid #999;padding:20px 0;text-align:center;background-color:#fff;background-color:rgba(255,255,255,.5)}div.DTS div.dataTables_scrollFoot,div.DTS div.dataTables_scrollHead{background-color:#fff}div.DTS div.dataTables_scrollBody{z-index:2}div.DTS div.dataTables_scroll{background:url(../images/loading-background.png)}div.dataTables_wrapper{margin-bottom:1.25em}div.dataTables_filter label,div.dataTables_info,div.dataTables_length label{color:#999;font-weight:400}div.dataTables_length label{float:left;text-align:left;margin-bottom:0}div.dataTables_length select{width:75px;margin-bottom:0}div.dataTables_filter label{float:right;margin-bottom:0}div.dataTables_filter input{display:inline-block!important;width:auto!important;margin-bottom:0}div.dataTables_info{padding-top:2px;font-size:.875em}div.dataTables_paginate{float:right;margin:0}table.dataTable{margin:.5em 0!important;max-width:none!important;width:100%}div.dataTables_scrollBody table,div.dataTables_scrollHead table{margin-bottom:0!important}div.dataTables_scrollBody table,div.dataTables_scrollFoot table{margin-top:0!important;border-top:none}table.dataTable thead .sorting{background:url(plugins/datatables/images/sort_both.png) center right no-repeat}table.dataTable thead .sorting_asc{background:url(plugins/datatables/images/sort_asc.png) center right no-repeat}table.dataTable thead .sorting_desc{background:url(plugins/datatables/images/sort_desc.png) center right no-repeat}table.dataTable thead .sorting_asc_disabled{background:url(plugins/datatables/images/sort_asc_disabled.png) center right no-repeat}table.dataTable thead .sorting_desc_disabled{background:url(plugins/datatables/images/sort_desc_disabled.png) center right no-repeat}table.dataTable th:active{outline:0}div.dataTables_scrollBody tbody tr:first-child td,div.dataTables_scrollBody tbody tr:first-child th{border-top:none}.table tbody tr.active td,.table tbody tr.active th{background-color:#08C;color:#fff}.table tbody tr.active:hover td,.table tbody tr.active:hover th{background-color:#0075b0!important}.table-striped tbody tr.active:nth-child(odd) td,.table-striped tbody tr.active:nth-child(odd) th{background-color:#017ebc}div.DTTT{float:left;margin-bottom:0}div.DTTT .button:hover{text-decoration:none!important}ul.DTTT_dropdown.dropdown-menu li{position:relative}ul.DTTT_dropdown.dropdown-menu li:hover a{background-color:#08c;color:#fff!important}.DTTT_print_info{position:fixed;top:50%;left:50%;width:400px;height:150px;margin-left:-200px;margin-top:-75px;text-align:center;color:#333;padding:10px 30px;background:#fff;background:-webkit-linear-gradient(top,#fff 0,#f3f3f3 89%,#f9f9f9 100%);background:-moz-linear-gradient(top,#fff 0,#f3f3f3 89%,#f9f9f9 100%);background:-ms-linear-gradient(top,#fff 0,#f3f3f3 89%,#f9f9f9 100%);background:-o-linear-gradient(top,#fff 0,#f3f3f3 89%,#f9f9f9 100%);background:linear-gradient(top,#fff 0,#f3f3f3 89%,#f9f9f9 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f9f9f9', GradientType=0 );opacity:.95;border:1px solid #000;border:1px solid rgba(0,0,0,.5);-webkit-border-radius:6px;-moz-border-radius:6px;-ms-border-radius:6px;-o-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,.5);-moz-box-shadow:0 3px 7px rgba(0,0,0,.5);-ms-box-shadow:0 3px 7px rgba(0,0,0,.5);-o-box-shadow:0 3px 7px rgba(0,0,0,.5);box-shadow:0 3px 7px rgba(0,0,0,.5)}div.DTTT_print_info h6{font-weight:400;font-size:28px;line-height:28px;margin:1em}div.DTTT_print_info p{font-size:14px;line-height:20px}div.DTFC_LeftFootWrapper table,div.DTFC_LeftHeadWrapper table,table.DTFC_Cloned tr.even{background-color:#fff}div.DTFC_LeftHeadWrapper table{margin-bottom:0!important}div.DTFC_LeftBodyWrapper table{border-top:none;margin-bottom:0!important}div.DTFC_LeftBodyWrapper tbody tr:first-child td,div.DTFC_LeftBodyWrapper tbody tr:first-child th,div.DTFC_LeftFootWrapper table{border-top:none}/*! +Chosen, a Select Box Enhancer for jQuery and Prototype +by Patrick Filler for Harvest, http://getharvest.com + +Version 1.3.0 +Full source at https://github.com/harvesthq/chosen +Copyright (c) 2011-2014 Harvest http://getharvest.com + +MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md +This file is generated by `grunt build`, do not edit it by hand. +*/.chosen-container{position:relative;display:inline-block;vertical-align:middle;font-size:13px;zoom:1;-moz-user-select:none;user-select:none}.chosen-container *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.chosen-container .chosen-drop{position:absolute;top:100%;left:-9999px;z-index:1010;width:100%;border:1px solid #aaa;border-top:0;background:#fff;box-shadow:0 4px 5px rgba(0,0,0,.15)}.chosen-container.chosen-with-drop .chosen-drop{left:0}.chosen-container-single .chosen-single{position:relative;display:block;overflow:hidden;padding:0 0 0 8px;height:25px;border:1px solid #aaa;border-radius:5px;background-color:#fff;background:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#fff),color-stop(50%,#f6f6f6),color-stop(52%,#eee),color-stop(100%,#f4f4f4));background:-webkit-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:-moz-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:-o-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background-clip:padding-box;box-shadow:0 0 3px #fff inset,0 1px 1px rgba(0,0,0,.1);color:#444;text-decoration:none;white-space:nowrap;line-height:24px}.chosen-container-single .chosen-default{color:#999}.chosen-container-single .chosen-single span{display:block;overflow:hidden;margin-right:26px;text-overflow:ellipsis;white-space:nowrap}.enjoyhint_btn,.enjoyhint_close_btn,.enjoyhint_close_btn::after,.enjoyhint_close_btn::before,.enjoyhint_next_btn,.enjoyhint_skip_btn{-o-text-overflow:clip;text-overflow:clip;-webkit-box-sizing:content-box}.chosen-container-single .chosen-single-with-deselect span{margin-right:38px}.chosen-container-single .chosen-single abbr{position:absolute;top:6px;right:26px;display:block;width:12px;height:12px;background:url(/img/chosen-sprite.png) -42px 1px no-repeat;font-size:1px}.chosen-container-single .chosen-single abbr:hover,.chosen-container-single.chosen-disabled .chosen-single abbr:hover{background-position:-42px -10px}.chosen-container-single .chosen-single div{position:absolute;top:0;right:0;display:block;width:18px;height:100%}.chosen-container-single .chosen-single div b{display:block;width:100%;height:100%;background:url(/img/chosen-sprite.png) 0 2px no-repeat}.chosen-container-single .chosen-search{position:relative;z-index:1010;margin:0;padding:3px 4px;white-space:nowrap}.chosen-container-single .chosen-search input[type=text]{margin:1px 0;padding:4px 20px 4px 5px;width:100%;height:auto;outline:0;border:1px solid #aaa;background:url(/img/chosen-sprite.png) 100% -20px no-repeat;font-size:1em;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-single .chosen-drop{margin-top:-1px;border-radius:0 0 4px 4px;background-clip:padding-box}.chosen-container-single.chosen-container-single-nosearch .chosen-search{position:absolute;left:-9999px}.chosen-container .chosen-results{color:#444;position:relative;overflow-x:hidden;overflow-y:auto;margin:0 4px 4px 0;padding:0 0 0 4px;max-height:240px;-webkit-overflow-scrolling:touch}.chosen-container .chosen-results li{display:none;margin:0;padding:5px 6px;list-style:none;line-height:15px;word-wrap:break-word;-webkit-touch-callout:none}.chosen-container .chosen-results li.active-result{display:list-item;cursor:pointer}.chosen-container .chosen-results li.disabled-result{display:list-item;color:#ccc;cursor:default}.chosen-container .chosen-results li.highlighted{background-color:#3875d7;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#3875d7),color-stop(90%,#2a62bc));background-image:-webkit-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:-moz-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:-o-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:linear-gradient(#3875d7 20%,#2a62bc 90%);color:#fff}.chosen-container .chosen-results li.no-results{color:#777;display:list-item;background:#f4f4f4}.chosen-container .chosen-results li.group-result{display:list-item;font-weight:700;cursor:default}.chosen-container .chosen-results li.group-option{padding-left:15px}.chosen-container .chosen-results li em{font-style:normal;text-decoration:underline}.chosen-container-multi .chosen-choices{position:relative;overflow:hidden;margin:0;padding:0 5px;width:100%;height:auto!important;height:1%;border:1px solid #aaa;background-color:#fff;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(1%,#eee),color-stop(15%,#fff));background-image:-webkit-linear-gradient(#eee 1%,#fff 15%);background-image:-moz-linear-gradient(#eee 1%,#fff 15%);background-image:-o-linear-gradient(#eee 1%,#fff 15%);background-image:linear-gradient(#eee 1%,#fff 15%);cursor:text}.chosen-container-multi .chosen-choices li{float:left;list-style:none}.chosen-container-multi .chosen-choices li.search-field{margin:0;padding:0;white-space:nowrap}.chosen-container-multi .chosen-choices li.search-field input[type=text]{margin:1px 0;padding:0;height:25px;outline:0;border:0!important;background:0 0!important;box-shadow:none;color:#999;font-size:100%;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-multi .chosen-choices li.search-choice{position:relative;margin:3px 5px 3px 0;padding:3px 20px 3px 5px;border:1px solid #aaa;max-width:100%;border-radius:3px;background-color:#eee;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-moz-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-o-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-size:100% 19px;background-repeat:repeat-x;background-clip:padding-box;box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05);color:#333;line-height:13px;cursor:default}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{position:absolute;top:4px;right:3px;display:block;width:12px;height:12px;background:url(/img/chosen-sprite.png) -42px 1px no-repeat;font-size:1px}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover{background-position:-42px -10px}.chosen-container-multi .chosen-choices li.search-choice-disabled{padding-right:5px;border:1px solid #ccc;background-color:#e4e4e4;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-moz-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-o-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);color:#666}.chosen-container-multi .chosen-choices li.search-choice-focus{background:#d4d4d4}.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close{background-position:-42px -10px}.chosen-container-multi .chosen-results{margin:0;padding:0}.chosen-container-multi .chosen-drop .result-selected{display:list-item;color:#ccc;cursor:default}.enjoyhint_hide,.pace-inactive{display:none}.chosen-container-active .chosen-single{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active.chosen-with-drop .chosen-single{border:1px solid #aaa;-moz-border-radius-bottomright:0;border-bottom-right-radius:0;-moz-border-radius-bottomleft:0;border-bottom-left-radius:0;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#eee),color-stop(80%,#fff));background-image:-webkit-linear-gradient(#eee 20%,#fff 80%);background-image:-moz-linear-gradient(#eee 20%,#fff 80%);background-image:-o-linear-gradient(#eee 20%,#fff 80%);background-image:linear-gradient(#eee 20%,#fff 80%);box-shadow:0 1px 0 #fff inset}.chosen-container-active.chosen-with-drop .chosen-single div{border-left:none;background:0 0}.chosen-container-active.chosen-with-drop .chosen-single div b{background-position:-18px 2px}.chosen-container-active .chosen-choices{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active .chosen-choices li.search-field input[type=text]{color:#222!important}.chosen-disabled{opacity:.5!important;cursor:default}.chosen-disabled .chosen-choices .search-choice .search-choice-close,.chosen-disabled .chosen-single{cursor:default}.chosen-rtl{text-align:right}.chosen-rtl .chosen-single{overflow:visible;padding:0 8px 0 0}.enjoyhint,svg:not(:root){overflow:hidden}.chosen-rtl .chosen-single span{margin-right:0;margin-left:26px;direction:rtl}.chosen-rtl .chosen-single-with-deselect span{margin-left:38px}.chosen-rtl .chosen-single div{right:auto;left:3px}.chosen-rtl .chosen-single abbr{right:auto;left:26px}.chosen-rtl .chosen-choices li{float:right}.chosen-rtl .chosen-choices li.search-field input[type=text]{direction:rtl}.chosen-rtl .chosen-choices li.search-choice{margin:3px 5px 3px 0;padding:3px 5px 3px 19px}.chosen-rtl .chosen-choices li.search-choice .search-choice-close{right:auto;left:4px}.chosen-rtl .chosen-drop,.chosen-rtl.chosen-container-single-nosearch .chosen-search{left:9999px}.enjoyhint,.pace .pace-progress{position:fixed;width:100%;top:0;left:0}.chosen-rtl.chosen-container-single .chosen-results{margin:0 0 4px 4px;padding:0 4px 0 0}.enjoyhint_btn,.enjoyhint_next_btn,.enjoyhint_skip_btn{margin:0 auto;text-align:center;letter-spacing:1px;cursor:pointer}.chosen-rtl .chosen-results li.group-option{padding-right:15px;padding-left:0}.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div{border-right:none}.chosen-rtl .chosen-search input[type=text]{padding:4px 5px 4px 20px;background:url(/img/chosen-sprite.png) -30px -20px no-repeat;direction:rtl}.chosen-rtl.chosen-container-single .chosen-single div b{background-position:6px 2px}.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b{background-position:-12px 2px}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-resolution:1.5dppx){.chosen-container .chosen-results-scroll-down span,.chosen-container .chosen-results-scroll-up span,.chosen-container-multi .chosen-choices .search-choice .search-choice-close,.chosen-container-single .chosen-search input[type=text],.chosen-container-single .chosen-single abbr,.chosen-container-single .chosen-single div b,.chosen-rtl .chosen-search input[type=text]{background-image:url(/img/chosen-sprite@2x.png)!important;background-size:52px 37px!important;background-repeat:no-repeat!important}}.pace{-webkit-pointer-events:none;pointer-events:none;-moz-user-select:none;user-select:none}.pace .pace-progress{background:#fff;z-index:2000;height:5px}.enjoyhint_next_btn,.enjoyhint_skip_btn{font:normal normal normal 17px/40px "Advent Pro",Helvetica,sans-serif;-webkit-border-radius:40px;border-radius:40px}.enjoyhint_btn,.enjoyhint_close_btn,.enjoyhint_close_btn::after,.enjoyhint_next_btn,.enjoyhint_skip_btn{-moz-box-sizing:content-box}@font-face{font-family:casino_handregular;src:url(Casino_Hand/casino_hand-webfont.eot);src:url(Casino_Hand/casino_hand-webfont.eot?#iefix) format('embedded-opentype'),url(Casino_Hand/casino_hand-webfont.woff) format('woff'),url(Casino_Hand/casino_hand-webfont.ttf) format('truetype'),url(Casino_Hand/casino_hand-webfont.svg#casino_handregular) format('svg');font-weight:400;font-style:normal}.enjoyhint{height:100%;z-index:1010;pointer-events:none}.enjoyhint_close_btn,.enjoyhint_next_btn,.enjoyhint_skip_btn{z-index:1012;pointer-events:all}.enjoyhint_close_btn,.fa,.fa-stack{display:inline-block}.enjoyhint_close_btn::after,.enjoyhint_close_btn::before{content:"";text-shadow:none;background:#fff;border:none;color:rgba(0,0,0,1);display:inline-block}.enjoyhint_disable_events{position:absolute;width:2000px;height:1500px;z-index:1011;pointer-events:all}.enjoyhint_next_btn,.enjoyhint_skip_btn{width:100px;height:40px;box-sizing:content-box}#kinetic_container,.enjoyhint_canvas{pointer-events:none;position:absolute}.enjoyhint_next_btn{position:absolute;border:2px solid #1ecd97;background:0 0;-webkit-transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0);-moz-transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0);-o-transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0);transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0)}.enjoyhint_next_btn:hover{color:rgba(255,255,255,1);background:#1ecd97}.enjoyhint_next_btn:active{border:2px solid rgba(33,224,163,1);background:rgba(33,224,163,1);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.enjoyhint_btn,.enjoyhint_skip_btn{-o-transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0)}.enjoyhint_skip_btn{position:absolute;border:2px solid #1ecd97;background:0 0;-webkit-transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0);-moz-transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0);transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0)}.enjoyhint_close_btn:active,.enjoyhint_skip_btn:active{transition:none;-webkit-transition:none;-moz-transition:none}.enjoyhint_skip_btn:hover{color:rgba(255,255,255,1);background:#1ecd97}.enjoyhint_skip_btn:active{border:2px solid rgba(33,224,163,1);background:rgba(33,224,163,1);-o-transition:none}.enjoyhint_close_btn{position:absolute;box-sizing:content-box;width:.3em;height:.3em;border:none;-webkit-border-radius:1em;border-radius:1em;font:400 8em/normal Arial,Helvetica,sans-serif;background:0 0;border:2px solid rgba(33,224,163,1)}.enjoyhint_close_btn::after,.enjoyhint_close_btn::before{width:73%;height:2px;font:400 100%/normal Arial,Helvetica,sans-serif}.enjoyhint_close_btn::before{-moz-box-sizing:content-box;box-sizing:content-box;position:absolute;top:48%;left:14%;-webkit-transform:rotateZ(45deg);transform:rotateZ(45deg)}.enjoyhint_btn,hr{box-sizing:content-box}.enjoyhint_close_btn::after{box-sizing:content-box;position:absolute;top:46%;left:15%;-webkit-transform:rotateZ(-45deg);transform:rotateZ(-45deg)}.fa-glass:before,.uk-icon-glass:before{content:"\f000"}#kinetic_container,.enjoyhint_svg_wrapper,.enjoyhint_svg_wrapper svg{width:100%;height:100%;top:0;left:0}.enjoyhint_close_btn:hover{color:rgba(255,255,255,1);background:#1ecd97;cursor:pointer}.enjoyhint_close_btn:active{border:2px solid rgba(33,224,163,1);background:rgba(33,224,163,1);-o-transition:none}.enjoyhint_btn{width:150px;height:40px;border:2px solid #1ecd97;-webkit-border-radius:40px;border-radius:40px;font:normal normal normal 17px/40px "Advent Pro",Helvetica,sans-serif;color:#1ecd97;background:0 0;-webkit-transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0);-moz-transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0);transition:background-color .3s cubic-bezier(0,0,0,0),color .3s cubic-bezier(0,0,0,0),width .3s cubic-bezier(0,0,0,0),border-width .3s cubic-bezier(0,0,0,0),border-color .3s cubic-bezier(0,0,0,0)}.enjoyhint_btn:hover{color:rgba(255,255,255,1);background:#1ecd97}.enjoyhint_btn:active{border:2px solid rgba(33,224,163,1);background:rgba(33,224,163,1);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.enjoy_hint_label,.enjoyhint_svg_wrapper{-moz-transition:opacity .4s cubic-bezier(.42,0,.58,1);transition:opacity .4s cubic-bezier(.42,0,.58,1);-webkit-transition:opacity .4s cubic-bezier(.42,0,.58,1)}.uk-overlay-area,.uk-thumbnav>*>*>img{-webkit-transition:opacity .15s linear}.enjoyhint div.canvas-container{position:absolute}.enjoyhint_canvas{z-index:100;width:100%;height:100%}.enjoyhint_svg_wrapper{position:absolute;z-index:100}.enjoyhint_svg_wrapper svg{position:absolute}.enjoyhint_svg_transparent .enjoy_hint_label,.enjoyhint_svg_transparent .enjoyhint_svg_wrapper{opacity:0}.enjoy_hint_label{position:absolute;color:#fff;z-index:107;font-size:22px;font-family:casino_handregular,Arial}div.kineticjs-content{position:absolute!important}.enjoyhint_close_btn,.enjoyhint_next_btn,.enjoyhint_skip_btn{border-color:#e74c3c;color:#e74c3c}.enjoyhint_close_btn:active,.enjoyhint_close_btn:focus,.enjoyhint_close_btn:hover,.enjoyhint_next_btn:active,.enjoyhint_next_btn:focus,.enjoyhint_next_btn:hover,.enjoyhint_skip_btn:active,.enjoyhint_skip_btn:focus,.enjoyhint_skip_btn:hover{border-color:#e74c3c;background-color:#e74c3c}.mg-active-datapoint{fill:#000;font-size:.9rem;font-weight:400;opacity:.8}.mg-area1-color{fill:#00f}.mg-area2-color{fill:#05b378}.mg-area3-color{fill:#db4437}.mg-area4-color{fill:#f8b128}.mg-area5-color{fill:#5c5c5c}.mg-barplot rect.mg-bar{shape-rendering:auto;fill:#b6b6fc}.mg-barplot rect.mg-bar.active{fill:#9e9efc}.mg-barplot .mg-bar-prediction{fill:#5b5b5b}.mg-barplot .mg-bar-baseline{stroke:#5b5b5b;stroke-width:2}.mg-baselines line{opacity:1;shape-rendering:auto;stroke:#b3b2b2;stroke-width:1px}.mg-baselines text{fill:#000;font-size:.9rem;opacity:.6;stroke:none}.mg-baselines-small text{font-size:.6rem}.mg-header{cursor:default;font-size:1.2rem}.mg-header .mg-chart-description{fill:#ccc;font-family:FontAwesome;font-size:1.2rem}.mg-points circle{opacity:.65}.mg-popover{font-size:.95rem}.mg-popover-content{cursor:auto;line-height:17px}.mg-data-table{margin-top:30px}.mg-data-table thead tr th{border-bottom:1px solid #a9a9a9;cursor:default;font-size:1.1rem;font-weight:400;padding:5px 5px 8px;text-align:right}.mg-data-table thead tr th .fa{color:#ccc;padding-left:4px}.mg-data-table thead tr th .popover{font-size:1rem;font-weight:400}.mg-data-table .secondary-title{color:#a9a9a9}.mg-data-table tbody tr td{margin:2px;padding:5px;vertical-align:top}.fa.fa-pull-left,.fa.pull-left{margin-right:.3em}.mg-data-table tbody tr td.table-text{opacity:.8;padding-left:30px}.mg-x-axis line.mg-extended-x-ticks,.mg-y-axis line.mg-extended-y-ticks{opacity:.4}.mg-histogram .axis line,.mg-histogram .axis path{fill:none;opacity:.7;shape-rendering:auto;stroke:#ccc}.mg-histogram .mg-bar rect{fill:#b6b6fc;shape-rendering:auto}.mg-histogram .mg-bar rect.active{fill:#9e9efc}.mg-least-squares-line{stroke:red;stroke-width:1px}.mg-lowess-line{fill:none;stroke:red}.mg-line1-color{stroke:#4040e8}.mg-hover-line1-color{fill:#4040e8}.mg-line2-color{stroke:#05b378}.mg-hover-line2-color{fill:#05b378}.mg-line3-color{stroke:#db4437}.mg-hover-line3-color{fill:#db4437}.mg-line4-color{stroke:#f8b128}.mg-hover-line4-color{fill:#f8b128}.mg-line5-color{stroke:#5c5c5c}.mg-hover-line5-color{fill:#5c5c5c}.mg-line-legend text{font-size:.9rem;font-weight:300;stroke:none}.mg-line1-legend-color{color:#4040e8;fill:#4040e8}.mg-line2-legend-color{color:#05b378;fill:#05b378}.mg-line3-legend-color{color:#db4437;fill:#db4437}.mg-line4-legend-color{color:#f8b128;fill:#f8b128}.mg-line5-legend-color{color:#5c5c5c;fill:#5c5c5c}.fa-inverse,.simplecolorpicker span.color[data-selected]:after{color:#fff}.mg-main-area-solid svg .mg-main-area{fill:#ccf;opacity:1}.mg-markers line{opacity:1;shape-rendering:auto;stroke:#b3b2b2;stroke-width:1px}.mg-markers text{fill:#000;font-size:.8rem;opacity:.6}.mg-missing-text{opacity:.9}.mg-missing-background{stroke:#00f;fill:none;stroke-dasharray:10,5;stroke-opacity:.05;stroke-width:2}.mg-missing .mg-main-line{opacity:.1}.mg-missing .mg-main-area{opacity:.03}path.mg-main-area{opacity:.2;stroke:none}path.mg-confidence-band{fill:#ccc;opacity:.4;stroke:none}path.mg-main-line{fill:none;opacity:.8;stroke-width:1.1px}.mg-points circle{fill-opacity:.4;stroke-opacity:1}circle.mg-points-mono{fill:#00f;stroke:#00f}.mg-points circle.selected{fill-opacity:1;stroke-opacity:1}.mg-voronoi path{fill:none;pointer-events:all;stroke:none;stroke-opacity:.1}.mg-x-rug-mono,.mg-y-rug-mono{stroke:#000}.mg-x-axis line,.mg-y-axis line{opacity:1;shape-rendering:auto;stroke:#b3b2b2;stroke-width:1px}.mg-histogram .axis text,.mg-x-axis text,.mg-y-axis text{fill:#000;font-size:.9rem;opacity:.6}.mg-axis .label,.mg-x-axis .label,.mg-y-axis .label{font-size:.8rem;text-transform:uppercase;font-weight:400}.uk-article-title,.uk-panel-title{text-transform:none;font-weight:400}.mg-active-datapoint-small,.mg-x-axis-small text,.mg-y-axis-small text{font-size:.6rem}.mg-x-axis-small .label,.mg-y-axis-small .label{font-size:.65rem}.mg-year-marker text{fill:#000;font-size:.7rem;opacity:.6}.mg-year-marker line{opacity:1;shape-rendering:auto;stroke:#b3b2b2;stroke-width:1px}.mg-year-marker-small text{font-size:.6rem}/*! * Font Awesome 4.4.0 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */@font-face{font-family:FontAwesome;src:url(../../fonts/fontawesome-webfont.eot?v=4.4.0);src:url(../../fonts/fontawesome-webfont.eot?#iefix&v=4.4.0) format('embedded-opentype'),url(../../fonts/fontawesome-webfont.woff2?v=4.4.0) format('woff2'),url(../../fonts/fontawesome-webfont.woff?v=4.4.0) format('woff'),url(../../fonts/fontawesome-webfont.ttf?v=4.4.0) format('truetype'),url(../../fonts/fontawesome-webfont.svg?v=4.4.0#fontawesomeregular) format('svg');font-weight:400;font-style:normal}.fa{font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-stack,audio,canvas,iframe,img,svg,video{vertical-align:middle}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa.fa-pull-right,.fa.pull-right{margin-left:.3em}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right,.pull-right{float:right}.pull-left{float:left}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{position:relative;width:2em;height:2em;line-height:2em}progress,sub,sup{vertical-align:baseline}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\f152"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-inr:before,.fa-rupee:before{content:"\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-empire:before,.fa-ge:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-bed:before,.fa-hotel:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-y-combinator:before,.fa-yc:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-television:before,.fa-tv:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.simplecolorpicker.picker{position:absolute;top:100%;left:0;z-index:1051;display:none;float:left;min-width:160px;max-width:283px;padding:5px 0 0 5px;margin:2px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);-moz-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.uk-panel,sub,sup{position:relative}ins,mark{background:#ffa}.simplecolorpicker.inline{display:inline-block;padding:6px 0}.simplecolorpicker span{margin:0 5px 5px 0}.simplecolorpicker span.color,.simplecolorpicker.icon{display:inline-block;cursor:pointer;border:1px solid transparent}.simplecolorpicker span.color:after,.simplecolorpicker.icon:after{content:'\00a0\00a0\00a0\00a0'}.simplecolorpicker span.color[data-disabled]:hover{cursor:not-allowed;border:1px solid transparent}.simplecolorpicker span.color:hover,.simplecolorpicker span.color[data-selected],.simplecolorpicker span.color[data-selected]:hover{border:1px solid #222}.simplecolorpicker span.vr{border-left:1px solid #222}hr,iframe,img{border:0}.uk-grid-divider:empty,hr{border-top:1px solid #ddd}.simplecolorpicker.fontawesome span.color[data-selected]:after{font-family:FontAwesome;-webkit-font-smoothing:antialiased;content:'\f00c';margin-right:1px;margin-left:1px}html{font:400 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;background:#fff;color:#444}body{margin:0}a{background:0 0}a:active,a:hover{outline:0}.uk-link,a{color:#07d;text-decoration:none;cursor:pointer}.uk-navbar-nav>li>a[href='#'],.uk-tab>li.uk-disabled>a{cursor:text}.uk-link:hover,a:hover{color:#059;text-decoration:underline}.uk-article-title a,.uk-nav li>a,.uk-navbar-nav>li>a,.uk-panel,.uk-panel:hover,ins{text-decoration:none}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}:not(pre)>code,:not(pre)>kbd,:not(pre)>samp{font-size:12px;font-family:Consolas,monospace,serif;color:#d05;white-space:nowrap}ins,mark,pre{color:#444}em{color:#d05}q{font-style:italic}small{font-size:80%}sub,sup{font-size:75%;line-height:0}sup{top:-.5em}sub{bottom:-.25em}img{max-width:100%;height:auto;box-sizing:border-box}.uk-img-preserve,.uk-img-preserve img{max-width:none}address,blockquote,dl,fieldset,figure,ol,p,pre,ul{margin:0 0 15px}*+address,*+blockquote,*+dl,*+fieldset,*+figure,*+ol,*+p,*+pre,*+ul{margin-top:15px}h1,h2,h3,h4,h5,h6{margin:0 0 15px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400;color:#444;text-transform:none}*+h1,*+h2,*+h3,*+h4,*+h5,*+h6{margin-top:25px}.uk-h1,h1{font-size:36px;line-height:42px}.uk-h2,h2{font-size:24px;line-height:30px}.uk-h3,h3{font-size:18px;line-height:24px}.uk-h4,h4{font-size:16px;line-height:22px}.uk-h5,h5{font-size:14px;line-height:20px}.uk-h6,h6{font-size:12px;line-height:18px}ol,ul{padding-left:30px}ol>li>ol,ol>li>ul,ul>li>ol,ul>li>ul{margin:0}dt{font-weight:700}dd{margin-left:0}hr{height:0;margin:15px 0}address{font-style:normal}blockquote{padding-left:15px;border-left:5px solid #ddd;font-size:16px;line-height:22px;font-style:italic}pre{padding:10px;background:#f5f5f5;font:12px/18px Consolas,monospace,serif;-moz-tab-size:4;tab-size:4;overflow:auto}::-moz-selection{background:#39f;color:#fff;text-shadow:none}::selection{background:#39f;color:#fff;text-shadow:none}article,aside,details,figcaption,figure,footer,header,main,nav,section,summary{display:block}[hidden],audio:not([controls]),template{display:none}@media screen and (max-width:400px){@-ms-viewport{width:device-width}}.uk-grid{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin:0;padding:0;list-style:none}.uk-grid:after,.uk-grid:before{content:"";display:block;overflow:hidden}.uk-grid>*{-ms-flex:none;-webkit-flex:none;flex:none;margin:0;float:left;padding-left:25px}.uk-grid>*>:last-child{margin-bottom:0}.uk-grid{margin-left:-25px}@media (min-width:1220px){.uk-grid{margin-left:-35px}.uk-grid>*{padding-left:35px}.uk-grid+.uk-grid,.uk-grid-margin,.uk-grid>*>.uk-panel+.uk-panel{margin-top:35px}}.uk-grid-collapse{margin-left:0}.uk-grid-collapse>*{padding-left:0}.uk-grid-collapse+.uk-grid-collapse,.uk-grid-collapse>*>.uk-panel+.uk-panel,.uk-grid-collapse>.uk-grid-margin{margin-top:0}.uk-grid-small{margin-left:-10px}.uk-grid-small>*{padding-left:10px}.uk-grid-small+.uk-grid-small,.uk-grid-small>*>.uk-panel+.uk-panel,.uk-grid-small>.uk-grid-margin{margin-top:10px}.uk-grid-medium{margin-left:-25px}.uk-grid-medium>*{padding-left:25px}.uk-grid-medium+.uk-grid-medium,.uk-grid-medium>*>.uk-panel+.uk-panel,.uk-grid-medium>.uk-grid-margin{margin-top:25px}.uk-grid-divider:not(:empty){margin-left:-25px;margin-right:-25px}.uk-grid-divider>*{padding-left:25px;padding-right:25px}.uk-grid-divider>[class*=uk-width-1-]:not(.uk-width-1-1):nth-child(n+2),.uk-grid-divider>[class*=uk-width-2-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-3-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-4-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-5-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-6-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-7-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-8-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-9-]:nth-child(n+2){border-left:1px solid #ddd}@media (min-width:1220px){.uk-grid-divider:not(:empty){margin-left:-35px;margin-right:-35px}.uk-grid-divider>*{padding-left:35px;padding-right:35px}.uk-grid-divider:empty{margin-top:35px;margin-bottom:35px}}.uk-grid-divider:empty{margin-top:25px;margin-bottom:25px}.uk-grid-match>*{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.uk-grid-match>*>*{-ms-flex:none;-webkit-flex:none;flex:none;box-sizing:border-box;width:100%}[class*=uk-grid-width]>*{box-sizing:border-box;width:100%}.uk-grid-width-1-2>*{width:50%}.uk-grid-width-1-3>*{width:33.333%}.uk-grid-width-1-4>*{width:25%}.uk-grid-width-1-5>*{width:20%}.uk-grid-width-1-6>*{width:16.666%}.uk-grid-width-1-10>*{width:10%}.uk-grid-width-auto>*{width:auto}@media (min-width:480px){.uk-grid-width-small-1-1>*{width:100%}.uk-grid-width-small-1-2>*{width:50%}.uk-grid-width-small-1-3>*{width:33.333%}.uk-grid-width-small-1-4>*{width:25%}.uk-grid-width-small-1-5>*{width:20%}.uk-grid-width-small-1-6>*{width:16.666%}.uk-grid-width-small-1-10>*{width:10%}}@media (min-width:768px){.uk-grid-divider>[class*=uk-width-medium-]:not(.uk-width-medium-1-1):nth-child(n+2){border-left:1px solid #ddd}.uk-grid-width-medium-1-1>*{width:100%}.uk-grid-width-medium-1-2>*{width:50%}.uk-grid-width-medium-1-3>*{width:33.333%}.uk-grid-width-medium-1-4>*{width:25%}.uk-grid-width-medium-1-5>*{width:20%}.uk-grid-width-medium-1-6>*{width:16.666%}.uk-grid-width-medium-1-10>*{width:10%}}@media (min-width:960px){.uk-grid-divider>[class*=uk-width-large-]:not(.uk-width-large-1-1):nth-child(n+2){border-left:1px solid #ddd}.uk-grid-width-large-1-1>*{width:100%}.uk-grid-width-large-1-2>*{width:50%}.uk-grid-width-large-1-3>*{width:33.333%}.uk-grid-width-large-1-4>*{width:25%}.uk-grid-width-large-1-5>*{width:20%}.uk-grid-width-large-1-6>*{width:16.666%}.uk-grid-width-large-1-10>*{width:10%}}@media (min-width:1220px){.uk-grid-width-xlarge-1-1>*{width:100%}.uk-grid-width-xlarge-1-2>*{width:50%}.uk-grid-width-xlarge-1-3>*{width:33.333%}.uk-grid-width-xlarge-1-4>*{width:25%}.uk-grid-width-xlarge-1-5>*{width:20%}.uk-grid-width-xlarge-1-6>*{width:16.666%}.uk-grid-width-xlarge-1-10>*{width:10%}}[class*=uk-width]{box-sizing:border-box;width:100%}.uk-width-1-1{width:100%}.uk-width-1-2,.uk-width-2-4,.uk-width-3-6,.uk-width-5-10{width:50%}.uk-width-1-3,.uk-width-2-6{width:33.333%}.uk-width-2-3,.uk-width-4-6{width:66.666%}.uk-width-1-4{width:25%}.uk-width-3-4{width:75%}.uk-width-1-5,.uk-width-2-10{width:20%}.uk-width-2-5,.uk-width-4-10{width:40%}.uk-width-3-5,.uk-width-6-10{width:60%}.uk-width-4-5,.uk-width-8-10{width:80%}.uk-width-1-6{width:16.666%}.uk-width-5-6{width:83.333%}.uk-width-1-10{width:10%}.uk-width-3-10{width:30%}.uk-width-7-10{width:70%}.uk-width-9-10{width:90%}@media (min-width:480px){.uk-width-small-1-1{width:100%}.uk-width-small-1-2,.uk-width-small-2-4,.uk-width-small-3-6,.uk-width-small-5-10{width:50%}.uk-width-small-1-3,.uk-width-small-2-6{width:33.333%}.uk-width-small-2-3,.uk-width-small-4-6{width:66.666%}.uk-width-small-1-4{width:25%}.uk-width-small-3-4{width:75%}.uk-width-small-1-5,.uk-width-small-2-10{width:20%}.uk-width-small-2-5,.uk-width-small-4-10{width:40%}.uk-width-small-3-5,.uk-width-small-6-10{width:60%}.uk-width-small-4-5,.uk-width-small-8-10{width:80%}.uk-width-small-1-6{width:16.666%}.uk-width-small-5-6{width:83.333%}.uk-width-small-1-10{width:10%}.uk-width-small-3-10{width:30%}.uk-width-small-7-10{width:70%}.uk-width-small-9-10{width:90%}}@media (min-width:768px){.uk-width-medium-1-1{width:100%}.uk-width-medium-1-2,.uk-width-medium-2-4,.uk-width-medium-3-6,.uk-width-medium-5-10{width:50%}.uk-width-medium-1-3,.uk-width-medium-2-6{width:33.333%}.uk-width-medium-2-3,.uk-width-medium-4-6{width:66.666%}.uk-width-medium-1-4{width:25%}.uk-width-medium-3-4{width:75%}.uk-width-medium-1-5,.uk-width-medium-2-10{width:20%}.uk-width-medium-2-5,.uk-width-medium-4-10{width:40%}.uk-width-medium-3-5,.uk-width-medium-6-10{width:60%}.uk-width-medium-4-5,.uk-width-medium-8-10{width:80%}.uk-width-medium-1-6{width:16.666%}.uk-width-medium-5-6{width:83.333%}.uk-width-medium-1-10{width:10%}.uk-width-medium-3-10{width:30%}.uk-width-medium-7-10{width:70%}.uk-width-medium-9-10{width:90%}[class*=uk-pull-],[class*=uk-push-]{position:relative}.uk-push-1-2,.uk-push-2-4,.uk-push-3-6,.uk-push-5-10{left:50%}.uk-push-1-3,.uk-push-2-6{left:33.333%}.uk-push-2-3,.uk-push-4-6{left:66.666%}.uk-push-1-4{left:25%}.uk-push-3-4{left:75%}.uk-push-1-5,.uk-push-2-10{left:20%}.uk-push-2-5,.uk-push-4-10{left:40%}.uk-push-3-5,.uk-push-6-10{left:60%}.uk-push-4-5,.uk-push-8-10{left:80%}.uk-push-1-6{left:16.666%}.uk-push-5-6{left:83.333%}.uk-push-1-10{left:10%}.uk-push-3-10{left:30%}.uk-push-7-10{left:70%}.uk-push-9-10{left:90%}.uk-pull-1-2,.uk-pull-2-4,.uk-pull-3-6,.uk-pull-5-10{left:-50%}.uk-pull-1-3,.uk-pull-2-6{left:-33.333%}.uk-pull-2-3,.uk-pull-4-6{left:-66.666%}.uk-pull-1-4{left:-25%}.uk-pull-3-4{left:-75%}.uk-pull-1-5,.uk-pull-2-10{left:-20%}.uk-pull-2-5,.uk-pull-4-10{left:-40%}.uk-pull-3-5,.uk-pull-6-10{left:-60%}.uk-pull-4-5,.uk-pull-8-10{left:-80%}.uk-pull-1-6{left:-16.666%}.uk-pull-5-6{left:-83.333%}.uk-pull-1-10{left:-10%}.uk-pull-3-10{left:-30%}.uk-pull-7-10{left:-70%}.uk-pull-9-10{left:-90%}}@media (min-width:960px){.uk-width-large-1-1{width:100%}.uk-width-large-1-2,.uk-width-large-2-4,.uk-width-large-3-6,.uk-width-large-5-10{width:50%}.uk-width-large-1-3,.uk-width-large-2-6{width:33.333%}.uk-width-large-2-3,.uk-width-large-4-6{width:66.666%}.uk-width-large-1-4{width:25%}.uk-width-large-3-4{width:75%}.uk-width-large-1-5,.uk-width-large-2-10{width:20%}.uk-width-large-2-5,.uk-width-large-4-10{width:40%}.uk-width-large-3-5,.uk-width-large-6-10{width:60%}.uk-width-large-4-5,.uk-width-large-8-10{width:80%}.uk-width-large-1-6{width:16.666%}.uk-width-large-5-6{width:83.333%}.uk-width-large-1-10{width:10%}.uk-width-large-3-10{width:30%}.uk-width-large-7-10{width:70%}.uk-width-large-9-10{width:90%}}.uk-panel{display:block}.uk-panel:after,.uk-panel:before{content:"";display:table}.uk-panel>:not(.uk-panel-title):last-child{margin-bottom:0}.uk-panel-teaser,.uk-panel-title{margin-bottom:15px}.uk-panel-title{margin-top:0;font-size:18px;line-height:24px;color:#444}.uk-panel-badge{position:absolute;top:0;right:0;z-index:1}.uk-panel-box .uk-panel-badge,.uk-panel-hover .uk-panel-badge{top:10px;right:10px}.uk-panel-body{padding:15px}.uk-panel-box{padding:15px;color:#444}.uk-panel-box .uk-panel-title,.uk-panel-box-hover:hover{color:#444}.uk-panel-box>.uk-panel-teaser{margin-top:-15px;margin-left:-15px;margin-right:-15px}.uk-panel-box>.uk-nav-side{margin:0 -15px}.uk-article>:last-child,.uk-block>:last-child{margin-bottom:0}.uk-panel-box-primary{background-color:#ebf7fd;color:#2d7091}.uk-panel-box-primary .uk-panel-title,.uk-panel-box-primary-hover:hover{color:#2d7091}.uk-panel-box-secondary{background-color:#eee;color:#444}.uk-panel-box-secondary .uk-panel-title,.uk-panel-box-secondary-hover:hover{color:#444}.uk-panel-hover{padding:15px;color:#444}.uk-panel-hover:hover{background:#f5f5f5;color:#444}.uk-panel-hover>.uk-panel-teaser{margin-top:-15px;margin-left:-15px;margin-right:-15px}.uk-panel-header .uk-panel-title{padding-bottom:10px;border-bottom:1px solid #ddd;color:#444}.uk-panel-space{padding:30px}.uk-panel-space .uk-panel-badge{top:30px;right:30px}.uk-panel+.uk-panel-divider{margin-top:50px!important}.uk-panel+.uk-panel-divider:before{content:"";display:block;position:absolute;top:-25px;left:0;right:0;border-top:1px solid #ddd}.uk-article:after,.uk-article:before,.uk-block:after,.uk-block:before,.uk-comment-header:after,.uk-comment-header:before{content:"";display:table}@media (min-width:1220px){.uk-width-xlarge-1-1{width:100%}.uk-width-xlarge-1-2,.uk-width-xlarge-2-4,.uk-width-xlarge-3-6,.uk-width-xlarge-5-10{width:50%}.uk-width-xlarge-1-3,.uk-width-xlarge-2-6{width:33.333%}.uk-width-xlarge-2-3,.uk-width-xlarge-4-6{width:66.666%}.uk-width-xlarge-1-4{width:25%}.uk-width-xlarge-3-4{width:75%}.uk-width-xlarge-1-5,.uk-width-xlarge-2-10{width:20%}.uk-width-xlarge-2-5,.uk-width-xlarge-4-10{width:40%}.uk-width-xlarge-3-5,.uk-width-xlarge-6-10{width:60%}.uk-width-xlarge-4-5,.uk-width-xlarge-8-10{width:80%}.uk-width-xlarge-1-6{width:16.666%}.uk-width-xlarge-5-6{width:83.333%}.uk-width-xlarge-1-10{width:10%}.uk-width-xlarge-3-10{width:30%}.uk-width-xlarge-7-10{width:70%}.uk-width-xlarge-9-10{width:90%}.uk-panel+.uk-panel-divider{margin-top:70px!important}.uk-panel+.uk-panel-divider:before{top:-35px}}*+.uk-article-divider,.uk-article+.uk-article{margin-top:25px}.uk-cover-object,[data-uk-cover]{left:50%;top:50%;position:relative}.uk-block{position:relative;box-sizing:border-box;padding-top:20px;padding-bottom:20px}@media (min-width:768px){.uk-block{padding-top:50px;padding-bottom:50px}}.uk-block-large{padding-top:20px;padding-bottom:20px}@media (min-width:768px){.uk-block-large{padding-top:50px;padding-bottom:50px}}@media (min-width:960px){.uk-block-large{padding-top:100px;padding-bottom:100px}}.uk-block-default{background:#fff}.uk-block-muted{background:#f9f9f9}.uk-block-primary{background:#00a8e6}.uk-block-secondary{background:#222}.uk-block-default+.uk-block-default,.uk-block-muted+.uk-block-muted,.uk-block-primary+.uk-block-primary,.uk-block-secondary+.uk-block-secondary{padding-top:0}.uk-article-title{font-size:36px;line-height:42px}.uk-article-title a{color:inherit}.uk-article-meta{font-size:12px;line-height:18px;color:#999}.uk-article-lead{color:#444;font-size:18px;line-height:24px;font-weight:400}.uk-article-divider{margin-bottom:25px;border-color:#ddd}.uk-nav-dropdown .uk-nav-divider,.uk-nav-navbar .uk-nav-divider,.uk-nav-side .uk-nav-divider{border-top:1px solid #ddd}.uk-comment-avatar{margin-right:15px;float:left}.uk-comment-meta{margin:2px 0 0;font-size:11px;line-height:16px;color:#999}.uk-comment-body>:last-child{margin-bottom:0}.uk-comment-list{padding:0;list-style:none}.uk-comment-list .uk-comment+ul>li:nth-child(n+2),.uk-comment-list>li:nth-child(n+2){margin-top:15px}@media (min-width:768px){.uk-comment-list .uk-comment+ul{padding-left:100px}}.uk-cover-background{background-position:50% 50%;background-size:cover;background-repeat:no-repeat}.uk-cover{overflow:hidden}.uk-cover-object{width:auto;height:auto;min-width:100%;min-height:100%;max-width:none;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}[data-uk-cover]{-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.uk-nav,.uk-nav ul{margin:0;padding:0;list-style:none}.uk-nav li>a{display:block}.uk-nav>li>a{padding:5px 15px}.uk-nav ul{padding-left:15px}.uk-nav ul a{padding:2px 0}.uk-nav li>a>div{font-size:12px;line-height:18px}.uk-nav-header{padding:5px 15px;text-transform:uppercase;font-weight:700;font-size:12px}.uk-badge,.uk-form select{text-transform:none}.uk-nav-header:not(:first-child){margin-top:15px}.uk-nav-divider{margin:9px 15px}ul.uk-nav-sub{padding:5px 0 5px 15px}.uk-nav-parent-icon>.uk-parent>a:after{content:"\f104";width:20px;margin-right:-10px;float:right;font-family:FontAwesome;text-align:center}.uk-nav-parent-icon>.uk-parent.uk-open>a:after{content:"\f107"}.uk-nav-side>li>a{color:#444}.uk-nav-side>li>a:focus,.uk-nav-side>li>a:hover{background:rgba(0,0,0,.05);color:#444;outline:0}.uk-nav-side>li.uk-active>a{background:#00a8e6;color:#fff}.uk-nav-side .uk-nav-header{color:#444}.uk-nav-side ul a{color:#07d}.uk-nav-side ul a:hover{color:#059}.uk-nav-dropdown>li>a{color:#444}.uk-nav-dropdown>li>a:focus,.uk-nav-dropdown>li>a:hover{outline:0}.uk-nav-dropdown .uk-nav-header{color:#999}.uk-nav-dropdown ul a{color:#07d}.uk-nav-dropdown ul a:hover{color:#059}.uk-nav-navbar>li>a{color:#444}.uk-nav-navbar>li>a:focus,.uk-nav-navbar>li>a:hover{background:#00a8e6;color:#fff;outline:0}.uk-nav-navbar .uk-nav-header{color:#999}.uk-nav-navbar ul a{color:#07d}.uk-nav-navbar ul a:hover{color:#059}.uk-nav-offcanvas>li>a{color:#ccc;padding:10px 15px}.uk-nav-offcanvas>.uk-open>a,html:not(.uk-touch) .uk-nav-offcanvas>li>a:focus,html:not(.uk-touch) .uk-nav-offcanvas>li>a:hover{background:#404040;color:#fff;outline:0}html .uk-nav.uk-nav-offcanvas>li.uk-active>a{background:#1a1a1a;color:#fff}.uk-nav-offcanvas .uk-nav-header{color:#777}.uk-nav-offcanvas .uk-nav-divider{border-top:1px solid #1a1a1a}.uk-nav-offcanvas ul a{color:#ccc}html:not(.uk-touch) .uk-nav-offcanvas ul a:hover{color:#fff}.uk-navbar{background:#eee;color:#444}.uk-navbar:after,.uk-navbar:before{content:"";display:table}.uk-navbar-nav{margin:0;padding:0;list-style:none;float:left}.uk-navbar-nav>li{float:left;position:relative}.uk-navbar-nav>li>a{display:block;box-sizing:border-box;height:40px;padding:0 15px;line-height:40px;color:#444;font-size:14px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400}.uk-navbar-nav>li.uk-open>a,.uk-navbar-nav>li:hover>a,.uk-navbar-nav>li>a:focus{background-color:#f5f5f5;color:#444;outline:0}.uk-navbar-nav>li>a:active{background-color:#ddd;color:#444}.uk-navbar-nav>li.uk-active>a{background-color:#f5f5f5;color:#444}.uk-navbar-nav .uk-navbar-nav-subtitle{line-height:28px}.uk-navbar-nav-subtitle>div{margin-top:-6px;font-size:10px;line-height:12px}.uk-navbar-brand,.uk-navbar-toggle{font-size:18px;text-decoration:none}.uk-navbar-brand,.uk-navbar-content,.uk-navbar-toggle{box-sizing:border-box;display:block;height:40px;padding:0 15px;float:left}.uk-navbar-brand:before,.uk-navbar-content:before,.uk-navbar-toggle:before{content:'';display:inline-block;height:100%;vertical-align:middle}.uk-navbar-content+.uk-navbar-content:not(.uk-navbar-center){padding-left:0}.uk-navbar-content>a:not([class]){color:#07d}.uk-navbar-content>a:not([class]):hover{color:#059}.uk-navbar-brand{color:#444}.uk-navbar-brand:focus,.uk-navbar-brand:hover{color:#444;text-decoration:none;outline:0}.uk-navbar-toggle{color:#444}.uk-navbar-toggle:focus,.uk-navbar-toggle:hover{color:#444;text-decoration:none;outline:0}.uk-navbar-toggle:after{content:"\f0c9";font-family:FontAwesome;vertical-align:middle}.uk-navbar-toggle-alt:after{content:"\f002"}.uk-navbar-center{float:none;text-align:center;max-width:50%;margin-left:auto;margin-right:auto}.uk-navbar-flip{float:right}.uk-subnav{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-left:-10px;margin-top:-10px;padding:0;list-style:none}.uk-subnav>*{-ms-flex:none;-webkit-flex:none;flex:none;padding-left:10px;margin-top:10px;position:relative;float:left}.uk-subnav:after,.uk-subnav:before{content:"";display:block;overflow:hidden}.uk-breadcrumb>li,.uk-breadcrumb>li>a,.uk-breadcrumb>li>span,.uk-subnav-line>:before,.uk-subnav>*>*{display:inline-block}.uk-subnav>*>*{color:#444}.uk-subnav>*>:focus,.uk-subnav>*>:hover{color:#07d;text-decoration:none}.uk-subnav>.uk-active>*{color:#07d}.uk-subnav-line>:before{content:"";height:10px;vertical-align:middle}.uk-breadcrumb>li,.uk-pagination>li,.uk-table td{vertical-align:top}.uk-subnav-line>:nth-child(n+2):before{margin-right:10px;border-left:1px solid #ddd}.uk-subnav-pill>*>*{padding:3px 9px}.uk-breadcrumb,.uk-pagination,.uk-tab{padding:0;list-style:none}.uk-subnav-pill>*>:focus,.uk-subnav-pill>*>:hover{background:#eee;color:#444;text-decoration:none;outline:0}.uk-subnav-pill>.uk-active>*{color:#fff}.uk-subnav>.uk-disabled>*{background:0 0;color:#999;text-decoration:none;cursor:text}.uk-breadcrumb{font-size:0}.uk-breadcrumb>li{font-size:1rem}.uk-breadcrumb>li:nth-child(n+2):before{content:"/";display:inline-block;margin:0 8px}.uk-breadcrumb>li:not(.uk-active)>span{color:#999}.uk-pagination{text-align:center;font-size:0}.uk-pagination:after,.uk-pagination:before{content:"";display:table}.uk-pagination>li{display:inline-block;font-size:1rem}.uk-pagination>li:nth-child(n+2){margin-left:5px}.uk-pagination>li>a,.uk-pagination>li>span{display:inline-block;text-decoration:none;text-align:center}.uk-pagination>li>a:focus,.uk-pagination>li>a:hover{background-color:#f5f5f5;color:#444;outline:0}.uk-pagination>li>a:active{background-color:#ddd;color:#444}.uk-pagination>.uk-active>span{background:#00a8e6;color:#fff}.uk-pagination>.uk-disabled>span{background-color:#f5f5f5;color:#999}.uk-pagination-previous{float:left}.uk-pagination-next{float:right}.uk-pagination-left{text-align:left}.uk-pagination-right{text-align:right}.uk-tab-center .uk-tab>li>a,.uk-tab-grid>li>a{text-align:center}.uk-tab{margin:0;border-bottom:1px solid #ddd}.uk-tab:after,.uk-tab:before{content:"";display:table}.uk-tab>li{float:left;position:relative}.uk-alert>.uk-close:first-child,.uk-tab-flip>li{float:right}.uk-tab>li>a{display:block;text-decoration:none}.uk-tab>li:nth-child(n+2)>a{margin-left:5px}.uk-tab>li.uk-open>a,.uk-tab>li>a:focus,.uk-tab>li>a:hover{border-color:#f5f5f5;background:#f5f5f5;color:#059;outline:0}.uk-tab>li.uk-open:not(.uk-active)>a,.uk-tab>li:not(.uk-active)>a:focus,.uk-tab>li:not(.uk-active)>a:hover{margin-bottom:1px;padding-bottom:7px}.uk-tab>li.uk-active>a{border-color:#ddd #ddd transparent;color:#444}.uk-button:not(:disabled),.uk-form input[type=checkbox]:not(:disabled),.uk-form input[type=radio]:not(:disabled){cursor:pointer}.uk-tab>li.uk-disabled.uk-active>a,.uk-tab>li.uk-disabled>a:focus,.uk-tab>li.uk-disabled>a:hover{background:0 0;border-color:transparent}.uk-tab-flip>li:nth-child(n+2)>a{margin-left:0;margin-right:5px}.uk-tab>li.uk-tab-responsive>a{margin-left:0;margin-right:0}.uk-tab-center{border-bottom:1px solid #ddd}.uk-tab-center-bottom{border-bottom:none;border-top:1px solid #ddd}.uk-tab-center:after,.uk-tab-center:before{content:"";display:table}.uk-tab-center .uk-tab{position:relative;right:50%;border:none;float:right}.uk-tab-center .uk-tab>li{position:relative;right:-50%}.uk-tab-bottom{border-top:1px solid #ddd;border-bottom:none}.uk-tab-bottom>li{margin-top:-1px;margin-bottom:0}.uk-tab-bottom>li>a{padding-top:8px;padding-bottom:8px;border-bottom-width:1px;border-top-width:0}.uk-tab-bottom>li.uk-open:not(.uk-active)>a,.uk-tab-bottom>li:not(.uk-active)>a:focus,.uk-tab-bottom>li:not(.uk-active)>a:hover{margin-bottom:0;margin-top:1px;padding-bottom:8px;padding-top:7px}.uk-tab-bottom>li.uk-active>a{border-top-color:transparent;border-bottom-color:#ddd}.uk-tab-grid{margin-left:-5px;border-bottom:none;position:relative;z-index:0}.uk-tab-grid:before{display:block;position:absolute;left:5px;right:0;bottom:-1px;border-top:1px solid #ddd;z-index:-1}.uk-tab-grid>li:first-child>a{margin-left:5px}.uk-tab-grid.uk-tab-bottom{border-top:none}.uk-tab-grid.uk-tab-bottom:before{top:-1px;bottom:auto}@media (min-width:768px){.uk-tab-left,.uk-tab-right{border-bottom:none}.uk-tab-left>li,.uk-tab-right>li{margin-bottom:0;float:none}.uk-tab-left>li>a,.uk-tab-right>li>a{padding-top:8px;padding-bottom:8px}.uk-tab-left>li:nth-child(n+2)>a,.uk-tab-right>li:nth-child(n+2)>a{margin-left:0;margin-top:5px}.uk-tab-left>li.uk-active>a,.uk-tab-right>li.uk-active>a{border-color:#ddd}.uk-tab-left{border-right:1px solid #ddd}.uk-tab-left>li{margin-right:-1px}.uk-tab-left>li>a{border-bottom-width:1px;border-right-width:0}.uk-tab-left>li:not(.uk-active)>a:focus,.uk-tab-left>li:not(.uk-active)>a:hover{margin-bottom:0;margin-right:1px;padding-bottom:8px;padding-right:11px}.uk-tab-left>li.uk-active>a{border-right-color:transparent}.uk-tab-right{border-left:1px solid #ddd}.uk-tab-right>li{margin-left:-1px}.uk-tab-right>li>a{border-bottom-width:1px;border-left-width:0}.uk-tab-right>li:not(.uk-active)>a:focus,.uk-tab-right>li:not(.uk-active)>a:hover{margin-bottom:0;margin-left:1px;padding-bottom:8px;padding-left:11px}.uk-tab-right>li.uk-active>a{border-left-color:transparent}}.uk-thumbnav{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-left:-10px;margin-top:-10px;padding:0;list-style:none}.uk-thumbnav>*{-ms-flex:none;-webkit-flex:none;flex:none;padding-left:10px;margin-top:10px;float:left}.uk-thumbnav:after,.uk-thumbnav:before{content:"";display:block;overflow:hidden}.uk-thumbnav>*>*{display:block;background:#fff}.uk-thumbnav>*>*>img{opacity:.7;transition:opacity .15s linear}.uk-close-alt:focus,.uk-close-alt:hover,.uk-thumbnav>*>:focus>img,.uk-thumbnav>*>:hover>img,.uk-thumbnav>.uk-active>*>img{opacity:1}.uk-list{padding:0;list-style:none}.uk-list>li:after,.uk-list>li:before{content:"";display:table}.uk-list>li>:last-child{margin-bottom:0}.uk-list ul{margin:0;padding-left:20px;list-style:none}.uk-list-line>li:nth-child(n+2){margin-top:5px;padding-top:5px;border-top:1px solid #ddd}.uk-list-striped>li{padding:5px}.uk-list-striped>li:nth-of-type(odd){background:#f5f5f5}.uk-list-space>li:nth-child(n+2){margin-top:10px}@media (min-width:768px){.uk-description-list-horizontal{overflow:hidden}.uk-description-list-horizontal>dt{width:160px;float:left;clear:both;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uk-description-list-horizontal>dd{margin-left:180px}}.uk-description-list-line>dt{font-weight:400}.uk-description-list-line>dt:nth-child(n+2){margin-top:5px;padding-top:5px;border-top:1px solid #ddd}.uk-description-list-line>dd{color:#999}.uk-table{border-collapse:collapse;border-spacing:0;width:100%;margin-bottom:15px}*+.uk-table{margin-top:15px}.uk-table td,.uk-table th{padding:8px}.uk-table th{text-align:left}.uk-table thead th{vertical-align:bottom}.uk-table caption,.uk-table tfoot{font-size:12px;font-style:italic}.uk-table caption{text-align:left;color:#999}.uk-table tbody tr.uk-active{background:#eee}.uk-table-middle,.uk-table-middle td{vertical-align:middle!important}.uk-table-condensed td{padding:4px 8px}.uk-form input,.uk-form select,.uk-form textarea{box-sizing:border-box;margin:0;border-radius:0;font:inherit;color:inherit}.uk-form optgroup{font:inherit;font-weight:700}.uk-form input::-moz-focus-inner{border:0;padding:0}.uk-form input[type=checkbox],.uk-form input[type=radio]{padding:0}.uk-form input[type=search]::-webkit-search-cancel-button,.uk-form input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.uk-form input[type=number]::-webkit-inner-spin-button,.uk-form input[type=number]::-webkit-outer-spin-button{height:auto}.uk-form fieldset{border:none;margin:0;padding:0}.uk-form textarea{overflow:auto;vertical-align:top}.uk-button,.uk-button-group,.uk-form input:not([type=radio]):not([type=checkbox]),.uk-form select{vertical-align:middle}.uk-form :invalid{box-shadow:none}.uk-form>:last-child{margin-bottom:0}.uk-form input:not([type]),.uk-form input[type=color],.uk-form input[type=date],.uk-form input[type=datetime-local],.uk-form input[type=datetime],.uk-form input[type=email],.uk-form input[type=month],.uk-form input[type=number],.uk-form input[type=password],.uk-form input[type=search],.uk-form input[type=tel],.uk-form input[type=text],.uk-form input[type=time],.uk-form input[type=url],.uk-form input[type=week],.uk-form select,.uk-form textarea{height:30px;max-width:100%;padding:4px 6px;border:1px solid #ddd;background:#fff;color:#444;-webkit-transition:all linear .2s;transition:all linear .2s}.uk-form input:not([type]):focus,.uk-form input[type=color]:focus,.uk-form input[type=date]:focus,.uk-form input[type=datetime-local]:focus,.uk-form input[type=datetime]:focus,.uk-form input[type=email]:focus,.uk-form input[type=month]:focus,.uk-form input[type=number]:focus,.uk-form input[type=password]:focus,.uk-form input[type=search]:focus,.uk-form input[type=tel]:focus,.uk-form input[type=text]:focus,.uk-form input[type=time]:focus,.uk-form input[type=url]:focus,.uk-form input[type=week]:focus,.uk-form select:focus,.uk-form textarea:focus{border-color:#99baca;outline:0;background:#f5fbfe;color:#444}.uk-form input:not([type]):disabled,.uk-form input[type=color]:disabled,.uk-form input[type=date]:disabled,.uk-form input[type=datetime-local]:disabled,.uk-form input[type=datetime]:disabled,.uk-form input[type=email]:disabled,.uk-form input[type=month]:disabled,.uk-form input[type=number]:disabled,.uk-form input[type=password]:disabled,.uk-form input[type=search]:disabled,.uk-form input[type=tel]:disabled,.uk-form input[type=text]:disabled,.uk-form input[type=time]:disabled,.uk-form input[type=url]:disabled,.uk-form input[type=week]:disabled,.uk-form select:disabled,.uk-form textarea:disabled{border-color:#ddd;background-color:#f5f5f5;color:#999}.uk-form :-ms-input-placeholder{color:#999!important}.uk-form ::-moz-placeholder{opacity:1;color:#999}.uk-form ::-webkit-input-placeholder{color:#999}.uk-form :disabled:-ms-input-placeholder{color:#999!important}.uk-form :disabled::-moz-placeholder{color:#999}.uk-form :disabled::-webkit-input-placeholder{color:#999}.uk-form legend{width:100%;border:0;padding:0 0 15px;font-size:18px;line-height:30px}.uk-form legend:after{content:"";display:block;border-bottom:1px solid #ddd;width:100%}input:not([type]).uk-form-small,input[type].uk-form-small,select.uk-form-small,textarea.uk-form-small{height:25px;padding:3px;font-size:12px}input:not([type]).uk-form-large,input[type].uk-form-large,select.uk-form-large,textarea.uk-form-large{height:40px;padding:8px 6px;font-size:16px}.uk-form select[multiple],.uk-form select[size],.uk-form textarea{height:auto}.uk-form-danger{border-color:#dc8d99!important;background:#fff7f8!important;color:#d85030!important}.uk-form-success{border-color:#8ec73b!important;background:#fafff2!important;color:#659f13!important}.uk-form-blank{border-color:transparent!important;border-style:dashed!important;background:0 0!important}.uk-form-blank:focus{border-color:#ddd!important}input.uk-form-width-mini{width:40px}select.uk-form-width-mini{width:65px}.uk-form-width-small{width:130px}.uk-form-width-medium{width:200px}.uk-form-width-large{width:500px}.uk-form-row:after,.uk-form-row:before{content:"";display:table}.uk-form-help-inline{display:inline-block;margin:0 0 0 10px}.uk-form-help-block{margin:5px 0 0}.uk-form-controls>:first-child{margin-top:0}.uk-form-controls>:last-child{margin-bottom:0}.uk-form-controls-condensed{margin:5px 0}.uk-form-stacked .uk-form-label{margin-bottom:5px}@media (max-width:959px){.uk-form-horizontal .uk-form-label{display:block;margin-bottom:5px;font-weight:700}}.uk-button,.uk-button-dropdown,.uk-button-group,.uk-button-group>*,.uk-close,.uk-form-icon,.uk-icon-button,.uk-icon-spin,[class*=uk-icon-]{display:inline-block}@media (min-width:960px){.uk-form-horizontal .uk-form-label{width:200px;margin-top:5px;float:left}.uk-form-horizontal .uk-form-controls{margin-left:215px}.uk-form-horizontal .uk-form-controls-text{padding-top:5px}}.uk-form-icon{position:relative;max-width:100%}.uk-form-icon>[class*=uk-icon-]{position:absolute;top:50%;width:30px;margin-top:-7px;font-size:14px;color:#999;text-align:center;pointer-events:none}.uk-button,.uk-close{margin:0;overflow:visible;text-transform:none;text-align:center}.uk-form-icon:not(.uk-form-icon-flip)>input{padding-left:30px!important}.uk-form-icon-flip>[class*=uk-icon-]{right:0}.uk-form-icon-flip>input{padding-right:30px!important}.uk-button::-moz-focus-inner{border:0;padding:0}.uk-button{border:none;font:inherit;color:#444;box-sizing:border-box;padding:0 12px;background:#eee;line-height:30px;min-height:30px;font-size:1rem;text-decoration:none}.uk-button:focus,.uk-button:hover{background-color:#f5f5f5;color:#444;outline:0;text-decoration:none}.uk-button.uk-active,.uk-button:active{background-color:#ddd;color:#444}.uk-button-primary{background-color:#00a8e6;color:#fff}.uk-button-primary:focus,.uk-button-primary:hover{background-color:#35b3ee;color:#fff}.uk-button-primary.uk-active,.uk-button-primary:active{background-color:#0091ca;color:#fff}.uk-button-success{background-color:#8cc14c;color:#fff}.uk-button-success:focus,.uk-button-success:hover{background-color:#8ec73b;color:#fff}.uk-button-success.uk-active,.uk-button-success:active{background-color:#72ae41;color:#fff}.uk-button-danger{background-color:#da314b;color:#fff}.uk-button-danger:focus,.uk-button-danger:hover{background-color:#e4354f;color:#fff}.uk-button-danger.uk-active,.uk-button-danger:active{background-color:#c91032;color:#fff}.uk-button:disabled{background-color:#f5f5f5;color:#999}.uk-button-link,.uk-button-link.uk-active,.uk-button-link:active,.uk-button-link:disabled,.uk-button-link:focus,.uk-button-link:hover{border-color:transparent;background:0 0}.uk-button-link{color:#07d}.uk-button-link.uk-active,.uk-button-link:active,.uk-button-link:focus,.uk-button-link:hover{color:#059;text-decoration:underline}.uk-button-link:disabled,.uk-icon-hover{color:#999}.uk-button-link:focus{outline:dotted 1px}.uk-button-mini{min-height:20px;padding:0 6px;line-height:20px;font-size:11px}.uk-button-small{min-height:25px;padding:0 10px;line-height:25px;font-size:12px}.uk-button-large{min-height:40px;padding:0 15px;line-height:40px;font-size:16px}.uk-button-group{position:relative;font-size:0;white-space:nowrap}.uk-button-group .uk-button{vertical-align:top}.uk-button-dropdown{vertical-align:middle;position:relative}@font-face{font-family:FontAwesome;src:url(../fonts/fontawesome-webfont.woff2) format('woff2'),url(../fonts/fontawesome-webfont.woff) format("woff"),url(../fonts/fontawesome-webfont.ttf) format("truetype");font-weight:400;font-style:normal}[class*=uk-icon-]{font-family:FontAwesome;font-weight:400;font-style:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[class*=uk-icon-],[class*=uk-icon-]:focus,[class*=uk-icon-]:hover{text-decoration:none}.uk-icon-small{font-size:150%;vertical-align:-10%}.uk-icon-medium{font-size:200%;vertical-align:-16%}.uk-icon-large{font-size:250%;vertical-align:-22%}.uk-badge,.uk-close,.uk-overlay,.uk-overlay-area-content{vertical-align:middle}.uk-icon-justify{width:1em;text-align:center}.uk-icon-spin{-webkit-animation:uk-rotate 2s infinite linear;animation:uk-rotate 2s infinite linear}.uk-icon-hover:hover{color:#444}.uk-icon-button{box-sizing:border-box;width:35px;height:35px;border-radius:100%;background:#eee;line-height:35px;color:#444;font-size:18px;text-align:center}.uk-icon-button:focus,.uk-icon-button:hover{background-color:#f5f5f5;color:#444;outline:0}.uk-icon-button:active{background-color:#ddd;color:#444}.uk-icon-music:before{content:"\f001"}.uk-icon-search:before{content:"\f002"}.uk-icon-envelope-o:before{content:"\f003"}.uk-icon-heart:before{content:"\f004"}.uk-icon-star:before{content:"\f005"}.uk-icon-star-o:before{content:"\f006"}.uk-icon-user:before{content:"\f007"}.uk-icon-film:before{content:"\f008"}.uk-icon-th-large:before{content:"\f009"}.uk-icon-th:before{content:"\f00a"}.uk-icon-th-list:before{content:"\f00b"}.uk-icon-check:before{content:"\f00c"}.uk-icon-close:before,.uk-icon-remove:before,.uk-icon-times:before{content:"\f00d"}.uk-icon-search-plus:before{content:"\f00e"}.uk-icon-search-minus:before{content:"\f010"}.uk-icon-power-off:before{content:"\f011"}.uk-icon-signal:before{content:"\f012"}.uk-icon-cog:before,.uk-icon-gear:before{content:"\f013"}.uk-icon-trash-o:before{content:"\f014"}.uk-icon-home:before{content:"\f015"}.uk-icon-file-o:before{content:"\f016"}.uk-icon-clock-o:before{content:"\f017"}.uk-icon-road:before{content:"\f018"}.uk-icon-download:before{content:"\f019"}.uk-icon-arrow-circle-o-down:before{content:"\f01a"}.uk-icon-arrow-circle-o-up:before{content:"\f01b"}.uk-icon-inbox:before{content:"\f01c"}.uk-icon-play-circle-o:before{content:"\f01d"}.uk-icon-repeat:before,.uk-icon-rotate-right:before{content:"\f01e"}.uk-icon-refresh:before{content:"\f021"}.uk-icon-list-alt:before{content:"\f022"}.uk-icon-lock:before{content:"\f023"}.uk-icon-flag:before{content:"\f024"}.uk-icon-headphones:before{content:"\f025"}.uk-icon-volume-off:before{content:"\f026"}.uk-icon-volume-down:before{content:"\f027"}.uk-icon-volume-up:before{content:"\f028"}.uk-icon-qrcode:before{content:"\f029"}.uk-icon-barcode:before{content:"\f02a"}.uk-icon-tag:before{content:"\f02b"}.uk-icon-tags:before{content:"\f02c"}.uk-icon-book:before{content:"\f02d"}.uk-icon-bookmark:before{content:"\f02e"}.uk-icon-print:before{content:"\f02f"}.uk-icon-camera:before{content:"\f030"}.uk-icon-font:before{content:"\f031"}.uk-icon-bold:before{content:"\f032"}.uk-icon-italic:before{content:"\f033"}.uk-icon-text-height:before{content:"\f034"}.uk-icon-text-width:before{content:"\f035"}.uk-icon-align-left:before{content:"\f036"}.uk-icon-align-center:before{content:"\f037"}.uk-icon-align-right:before{content:"\f038"}.uk-icon-align-justify:before{content:"\f039"}.uk-icon-list:before{content:"\f03a"}.uk-icon-dedent:before,.uk-icon-outdent:before{content:"\f03b"}.uk-icon-indent:before{content:"\f03c"}.uk-icon-video-camera:before{content:"\f03d"}.uk-icon-image:before,.uk-icon-photo:before,.uk-icon-picture-o:before{content:"\f03e"}.uk-icon-pencil:before{content:"\f040"}.uk-icon-map-marker:before{content:"\f041"}.uk-icon-adjust:before{content:"\f042"}.uk-icon-tint:before{content:"\f043"}.uk-icon-edit:before,.uk-icon-pencil-square-o:before{content:"\f044"}.uk-icon-share-square-o:before{content:"\f045"}.uk-icon-check-square-o:before{content:"\f046"}.uk-icon-arrows:before{content:"\f047"}.uk-icon-step-backward:before{content:"\f048"}.uk-icon-fast-backward:before{content:"\f049"}.uk-icon-backward:before{content:"\f04a"}.uk-icon-play:before{content:"\f04b"}.uk-icon-pause:before{content:"\f04c"}.uk-icon-stop:before{content:"\f04d"}.uk-icon-forward:before{content:"\f04e"}.uk-icon-fast-forward:before{content:"\f050"}.uk-icon-step-forward:before{content:"\f051"}.uk-icon-eject:before{content:"\f052"}.uk-icon-chevron-left:before{content:"\f053"}.uk-icon-chevron-right:before{content:"\f054"}.uk-icon-plus-circle:before{content:"\f055"}.uk-icon-minus-circle:before{content:"\f056"}.uk-icon-times-circle:before{content:"\f057"}.uk-icon-check-circle:before{content:"\f058"}.uk-icon-question-circle:before{content:"\f059"}.uk-icon-info-circle:before{content:"\f05a"}.uk-icon-crosshairs:before{content:"\f05b"}.uk-icon-times-circle-o:before{content:"\f05c"}.uk-icon-check-circle-o:before{content:"\f05d"}.uk-icon-ban:before{content:"\f05e"}.uk-icon-arrow-left:before{content:"\f060"}.uk-icon-arrow-right:before{content:"\f061"}.uk-icon-arrow-up:before{content:"\f062"}.uk-icon-arrow-down:before{content:"\f063"}.uk-icon-mail-forward:before,.uk-icon-share:before{content:"\f064"}.uk-icon-expand:before{content:"\f065"}.uk-icon-compress:before{content:"\f066"}.uk-icon-plus:before{content:"\f067"}.uk-icon-minus:before{content:"\f068"}.uk-icon-asterisk:before{content:"\f069"}.uk-icon-exclamation-circle:before{content:"\f06a"}.uk-icon-gift:before{content:"\f06b"}.uk-icon-leaf:before{content:"\f06c"}.uk-icon-fire:before{content:"\f06d"}.uk-icon-eye:before{content:"\f06e"}.uk-icon-eye-slash:before{content:"\f070"}.uk-icon-exclamation-triangle:before,.uk-icon-warning:before{content:"\f071"}.uk-icon-plane:before{content:"\f072"}.uk-icon-calendar:before{content:"\f073"}.uk-icon-random:before{content:"\f074"}.uk-icon-comment:before{content:"\f075"}.uk-icon-magnet:before{content:"\f076"}.uk-icon-chevron-up:before{content:"\f077"}.uk-icon-chevron-down:before{content:"\f078"}.uk-icon-retweet:before{content:"\f079"}.uk-icon-shopping-cart:before{content:"\f07a"}.uk-icon-folder:before{content:"\f07b"}.uk-icon-folder-open:before{content:"\f07c"}.uk-icon-arrows-v:before{content:"\f07d"}.uk-icon-arrows-h:before{content:"\f07e"}.uk-icon-bar-chart-o:before,.uk-icon-bar-chart:before{content:"\f080"}.uk-icon-twitter-square:before{content:"\f081"}.uk-icon-facebook-square:before{content:"\f082"}.uk-icon-camera-retro:before{content:"\f083"}.uk-icon-key:before{content:"\f084"}.uk-icon-cogs:before,.uk-icon-gears:before{content:"\f085"}.uk-icon-comments:before{content:"\f086"}.uk-icon-thumbs-o-up:before{content:"\f087"}.uk-icon-thumbs-o-down:before{content:"\f088"}.uk-icon-star-half:before{content:"\f089"}.uk-icon-heart-o:before{content:"\f08a"}.uk-icon-sign-out:before{content:"\f08b"}.uk-icon-linkedin-square:before{content:"\f08c"}.uk-icon-thumb-tack:before{content:"\f08d"}.uk-icon-external-link:before{content:"\f08e"}.uk-icon-sign-in:before{content:"\f090"}.uk-icon-trophy:before{content:"\f091"}.uk-icon-github-square:before{content:"\f092"}.uk-icon-upload:before{content:"\f093"}.uk-icon-lemon-o:before{content:"\f094"}.uk-icon-phone:before{content:"\f095"}.uk-icon-square-o:before{content:"\f096"}.uk-icon-bookmark-o:before{content:"\f097"}.uk-icon-phone-square:before{content:"\f098"}.uk-icon-twitter:before{content:"\f099"}.uk-icon-facebook-f:before,.uk-icon-facebook:before{content:"\f09a"}.uk-icon-github:before{content:"\f09b"}.uk-icon-unlock:before{content:"\f09c"}.uk-icon-credit-card:before{content:"\f09d"}.uk-icon-rss:before{content:"\f09e"}.uk-icon-hdd-o:before{content:"\f0a0"}.uk-icon-bullhorn:before{content:"\f0a1"}.uk-icon-bell:before{content:"\f0f3"}.uk-icon-certificate:before{content:"\f0a3"}.uk-icon-hand-o-right:before{content:"\f0a4"}.uk-icon-hand-o-left:before{content:"\f0a5"}.uk-icon-hand-o-up:before{content:"\f0a6"}.uk-icon-hand-o-down:before{content:"\f0a7"}.uk-icon-arrow-circle-left:before{content:"\f0a8"}.uk-icon-arrow-circle-right:before{content:"\f0a9"}.uk-icon-arrow-circle-up:before{content:"\f0aa"}.uk-icon-arrow-circle-down:before{content:"\f0ab"}.uk-icon-globe:before{content:"\f0ac"}.uk-icon-wrench:before{content:"\f0ad"}.uk-icon-tasks:before{content:"\f0ae"}.uk-icon-filter:before{content:"\f0b0"}.uk-icon-briefcase:before{content:"\f0b1"}.uk-icon-arrows-alt:before{content:"\f0b2"}.uk-icon-group:before,.uk-icon-users:before{content:"\f0c0"}.uk-icon-chain:before,.uk-icon-link:before{content:"\f0c1"}.uk-icon-cloud:before{content:"\f0c2"}.uk-icon-flask:before{content:"\f0c3"}.uk-icon-cut:before,.uk-icon-scissors:before{content:"\f0c4"}.uk-icon-copy:before,.uk-icon-files-o:before{content:"\f0c5"}.uk-icon-paperclip:before{content:"\f0c6"}.uk-icon-floppy-o:before,.uk-icon-save:before{content:"\f0c7"}.uk-icon-square:before{content:"\f0c8"}.uk-icon-bars:before,.uk-icon-navicon:before,.uk-icon-reorder:before{content:"\f0c9"}.uk-icon-list-ul:before{content:"\f0ca"}.uk-icon-list-ol:before{content:"\f0cb"}.uk-icon-strikethrough:before{content:"\f0cc"}.uk-icon-underline:before{content:"\f0cd"}.uk-icon-table:before{content:"\f0ce"}.uk-icon-magic:before{content:"\f0d0"}.uk-icon-truck:before{content:"\f0d1"}.uk-icon-pinterest:before{content:"\f0d2"}.uk-icon-pinterest-square:before{content:"\f0d3"}.uk-icon-google-plus-square:before{content:"\f0d4"}.uk-icon-google-plus:before{content:"\f0d5"}.uk-icon-money:before{content:"\f0d6"}.uk-icon-caret-down:before{content:"\f0d7"}.uk-icon-caret-up:before{content:"\f0d8"}.uk-icon-caret-left:before{content:"\f0d9"}.uk-icon-caret-right:before{content:"\f0da"}.uk-icon-columns:before{content:"\f0db"}.uk-icon-sort:before,.uk-icon-unsorted:before{content:"\f0dc"}.uk-icon-sort-desc:before,.uk-icon-sort-down:before{content:"\f0dd"}.uk-icon-sort-asc:before,.uk-icon-sort-up:before{content:"\f0de"}.uk-icon-envelope:before{content:"\f0e0"}.uk-icon-linkedin:before{content:"\f0e1"}.uk-icon-rotate-left:before,.uk-icon-undo:before{content:"\f0e2"}.uk-icon-gavel:before,.uk-icon-legal:before{content:"\f0e3"}.uk-icon-dashboard:before,.uk-icon-tachometer:before{content:"\f0e4"}.uk-icon-comment-o:before{content:"\f0e5"}.uk-icon-comments-o:before{content:"\f0e6"}.uk-icon-bolt:before,.uk-icon-flash:before{content:"\f0e7"}.uk-icon-sitemap:before{content:"\f0e8"}.uk-icon-umbrella:before{content:"\f0e9"}.uk-icon-clipboard:before,.uk-icon-paste:before{content:"\f0ea"}.uk-icon-lightbulb-o:before{content:"\f0eb"}.uk-icon-exchange:before{content:"\f0ec"}.uk-icon-cloud-download:before{content:"\f0ed"}.uk-icon-cloud-upload:before{content:"\f0ee"}.uk-icon-user-md:before{content:"\f0f0"}.uk-icon-stethoscope:before{content:"\f0f1"}.uk-icon-suitcase:before{content:"\f0f2"}.uk-icon-bell-o:before{content:"\f0a2"}.uk-icon-coffee:before{content:"\f0f4"}.uk-icon-cutlery:before{content:"\f0f5"}.uk-icon-file-text-o:before{content:"\f0f6"}.uk-icon-building-o:before{content:"\f0f7"}.uk-icon-hospital-o:before{content:"\f0f8"}.uk-icon-ambulance:before{content:"\f0f9"}.uk-icon-medkit:before{content:"\f0fa"}.uk-icon-fighter-jet:before{content:"\f0fb"}.uk-icon-beer:before{content:"\f0fc"}.uk-icon-h-square:before{content:"\f0fd"}.uk-icon-plus-square:before{content:"\f0fe"}.uk-icon-angle-double-left:before{content:"\f100"}.uk-icon-angle-double-right:before{content:"\f101"}.uk-icon-angle-double-up:before{content:"\f102"}.uk-icon-angle-double-down:before{content:"\f103"}.uk-icon-angle-left:before{content:"\f104"}.uk-icon-angle-right:before{content:"\f105"}.uk-icon-angle-up:before{content:"\f106"}.uk-icon-angle-down:before{content:"\f107"}.uk-icon-desktop:before{content:"\f108"}.uk-icon-laptop:before{content:"\f109"}.uk-icon-tablet:before{content:"\f10a"}.uk-icon-mobile-phone:before,.uk-icon-mobile:before{content:"\f10b"}.uk-icon-circle-o:before{content:"\f10c"}.uk-icon-quote-left:before{content:"\f10d"}.uk-icon-quote-right:before{content:"\f10e"}.uk-icon-spinner:before{content:"\f110"}.uk-icon-circle:before{content:"\f111"}.uk-icon-mail-reply:before,.uk-icon-reply:before{content:"\f112"}.uk-icon-github-alt:before{content:"\f113"}.uk-icon-folder-o:before{content:"\f114"}.uk-icon-folder-open-o:before{content:"\f115"}.uk-icon-smile-o:before{content:"\f118"}.uk-icon-frown-o:before{content:"\f119"}.uk-icon-meh-o:before{content:"\f11a"}.uk-icon-gamepad:before{content:"\f11b"}.uk-icon-keyboard-o:before{content:"\f11c"}.uk-icon-flag-o:before{content:"\f11d"}.uk-icon-flag-checkered:before{content:"\f11e"}.uk-icon-terminal:before{content:"\f120"}.uk-icon-code:before{content:"\f121"}.uk-icon-mail-reply-all:before,.uk-icon-reply-all:before{content:"\f122"}.uk-icon-star-half-empty:before,.uk-icon-star-half-full:before,.uk-icon-star-half-o:before{content:"\f123"}.uk-icon-location-arrow:before{content:"\f124"}.uk-icon-crop:before{content:"\f125"}.uk-icon-code-fork:before{content:"\f126"}.uk-icon-chain-broken:before,.uk-icon-unlink:before{content:"\f127"}.uk-icon-question:before{content:"\f128"}.uk-icon-info:before{content:"\f129"}.uk-icon-exclamation:before{content:"\f12a"}.uk-icon-superscript:before{content:"\f12b"}.uk-icon-subscript:before{content:"\f12c"}.uk-icon-eraser:before{content:"\f12d"}.uk-icon-puzzle-piece:before{content:"\f12e"}.uk-icon-microphone:before{content:"\f130"}.uk-icon-microphone-slash:before{content:"\f131"}.uk-icon-shield:before{content:"\f132"}.uk-icon-calendar-o:before{content:"\f133"}.uk-icon-fire-extinguisher:before{content:"\f134"}.uk-icon-rocket:before{content:"\f135"}.uk-icon-maxcdn:before{content:"\f136"}.uk-icon-chevron-circle-left:before{content:"\f137"}.uk-icon-chevron-circle-right:before{content:"\f138"}.uk-icon-chevron-circle-up:before{content:"\f139"}.uk-icon-chevron-circle-down:before{content:"\f13a"}.uk-icon-html5:before{content:"\f13b"}.uk-icon-css3:before{content:"\f13c"}.uk-icon-anchor:before{content:"\f13d"}.uk-icon-unlock-alt:before{content:"\f13e"}.uk-icon-bullseye:before{content:"\f140"}.uk-icon-ellipsis-h:before{content:"\f141"}.uk-icon-ellipsis-v:before{content:"\f142"}.uk-icon-rss-square:before{content:"\f143"}.uk-icon-play-circle:before{content:"\f144"}.uk-icon-ticket:before{content:"\f145"}.uk-icon-minus-square:before{content:"\f146"}.uk-icon-minus-square-o:before{content:"\f147"}.uk-icon-level-up:before{content:"\f148"}.uk-icon-level-down:before{content:"\f149"}.uk-icon-check-square:before{content:"\f14a"}.uk-icon-pencil-square:before{content:"\f14b"}.uk-icon-external-link-square:before{content:"\f14c"}.uk-icon-share-square:before{content:"\f14d"}.uk-icon-compass:before{content:"\f14e"}.uk-icon-caret-square-o-down:before,.uk-icon-toggle-down:before{content:"\f150"}.uk-icon-caret-square-o-up:before,.uk-icon-toggle-up:before{content:"\f151"}.uk-icon-caret-square-o-right:before,.uk-icon-toggle-right:before{content:"\f152"}.uk-icon-eur:before,.uk-icon-euro:before{content:"\f153"}.uk-icon-gbp:before{content:"\f154"}.uk-icon-dollar:before,.uk-icon-usd:before{content:"\f155"}.uk-icon-inr:before,.uk-icon-rupee:before{content:"\f156"}.uk-icon-cny:before,.uk-icon-jpy:before,.uk-icon-rmb:before,.uk-icon-yen:before{content:"\f157"}.uk-icon-rouble:before,.uk-icon-rub:before,.uk-icon-ruble:before{content:"\f158"}.uk-icon-krw:before,.uk-icon-won:before{content:"\f159"}.uk-icon-bitcoin:before,.uk-icon-btc:before{content:"\f15a"}.uk-icon-file:before{content:"\f15b"}.uk-icon-file-text:before{content:"\f15c"}.uk-icon-sort-alpha-asc:before{content:"\f15d"}.uk-icon-sort-alpha-desc:before{content:"\f15e"}.uk-icon-sort-amount-asc:before{content:"\f160"}.uk-icon-sort-amount-desc:before{content:"\f161"}.uk-icon-sort-numeric-asc:before{content:"\f162"}.uk-icon-sort-numeric-desc:before{content:"\f163"}.uk-icon-thumbs-up:before{content:"\f164"}.uk-icon-thumbs-down:before{content:"\f165"}.uk-icon-youtube-square:before{content:"\f166"}.uk-icon-youtube:before{content:"\f167"}.uk-icon-xing:before{content:"\f168"}.uk-icon-xing-square:before{content:"\f169"}.uk-icon-youtube-play:before{content:"\f16a"}.uk-icon-dropbox:before{content:"\f16b"}.uk-icon-stack-overflow:before{content:"\f16c"}.uk-icon-instagram:before{content:"\f16d"}.uk-icon-flickr:before{content:"\f16e"}.uk-icon-adn:before{content:"\f170"}.uk-icon-bitbucket:before{content:"\f171"}.uk-icon-bitbucket-square:before{content:"\f172"}.uk-icon-tumblr:before{content:"\f173"}.uk-icon-tumblr-square:before{content:"\f174"}.uk-icon-long-arrow-down:before{content:"\f175"}.uk-icon-long-arrow-up:before{content:"\f176"}.uk-icon-long-arrow-left:before{content:"\f177"}.uk-icon-long-arrow-right:before{content:"\f178"}.uk-icon-apple:before{content:"\f179"}.uk-icon-windows:before{content:"\f17a"}.uk-icon-android:before{content:"\f17b"}.uk-icon-linux:before{content:"\f17c"}.uk-icon-dribbble:before{content:"\f17d"}.uk-icon-skype:before{content:"\f17e"}.uk-icon-foursquare:before{content:"\f180"}.uk-icon-trello:before{content:"\f181"}.uk-icon-female:before{content:"\f182"}.uk-icon-male:before{content:"\f183"}.uk-icon-gittip:before,.uk-icon-gratipay:before{content:"\f184"}.uk-icon-sun-o:before{content:"\f185"}.uk-icon-moon-o:before{content:"\f186"}.uk-icon-archive:before{content:"\f187"}.uk-icon-bug:before{content:"\f188"}.uk-icon-vk:before{content:"\f189"}.uk-icon-weibo:before{content:"\f18a"}.uk-icon-renren:before{content:"\f18b"}.uk-icon-pagelines:before{content:"\f18c"}.uk-icon-stack-exchange:before{content:"\f18d"}.uk-icon-arrow-circle-o-right:before{content:"\f18e"}.uk-icon-arrow-circle-o-left:before{content:"\f190"}.uk-icon-caret-square-o-left:before,.uk-icon-toggle-left:before{content:"\f191"}.uk-icon-dot-circle-o:before{content:"\f192"}.uk-icon-wheelchair:before{content:"\f193"}.uk-icon-vimeo-square:before{content:"\f194"}.uk-icon-try:before,.uk-icon-turkish-lira:before{content:"\f195"}.uk-icon-plus-square-o:before{content:"\f196"}.uk-icon-space-shuttle:before{content:"\f197"}.uk-icon-slack:before{content:"\f198"}.uk-icon-envelope-square:before{content:"\f199"}.uk-icon-wordpress:before{content:"\f19a"}.uk-icon-openid:before{content:"\f19b"}.uk-icon-bank:before,.uk-icon-institution:before,.uk-icon-university:before{content:"\f19c"}.uk-icon-graduation-cap:before,.uk-icon-mortar-board:before{content:"\f19d"}.uk-icon-yahoo:before{content:"\f19e"}.uk-icon-google:before{content:"\f1a0"}.uk-icon-reddit:before{content:"\f1a1"}.uk-icon-reddit-square:before{content:"\f1a2"}.uk-icon-stumbleupon-circle:before{content:"\f1a3"}.uk-icon-stumbleupon:before{content:"\f1a4"}.uk-icon-delicious:before{content:"\f1a5"}.uk-icon-digg:before{content:"\f1a6"}.uk-icon-pied-piper:before{content:"\f1a7"}.uk-icon-pied-piper-alt:before{content:"\f1a8"}.uk-icon-drupal:before{content:"\f1a9"}.uk-icon-joomla:before{content:"\f1aa"}.uk-icon-language:before{content:"\f1ab"}.uk-icon-fax:before{content:"\f1ac"}.uk-icon-building:before{content:"\f1ad"}.uk-icon-child:before{content:"\f1ae"}.uk-icon-paw:before{content:"\f1b0"}.uk-icon-spoon:before{content:"\f1b1"}.uk-icon-cube:before{content:"\f1b2"}.uk-icon-cubes:before{content:"\f1b3"}.uk-icon-behance:before{content:"\f1b4"}.uk-icon-behance-square:before{content:"\f1b5"}.uk-icon-steam:before{content:"\f1b6"}.uk-icon-steam-square:before{content:"\f1b7"}.uk-icon-recycle:before{content:"\f1b8"}.uk-icon-automobile:before,.uk-icon-car:before{content:"\f1b9"}.uk-icon-cab:before,.uk-icon-taxi:before{content:"\f1ba"}.uk-icon-tree:before{content:"\f1bb"}.uk-icon-spotify:before{content:"\f1bc"}.uk-icon-deviantart:before{content:"\f1bd"}.uk-icon-soundcloud:before{content:"\f1be"}.uk-icon-database:before{content:"\f1c0"}.uk-icon-file-pdf-o:before{content:"\f1c1"}.uk-icon-file-word-o:before{content:"\f1c2"}.uk-icon-file-excel-o:before{content:"\f1c3"}.uk-icon-file-powerpoint-o:before{content:"\f1c4"}.uk-icon-file-image-o:before,.uk-icon-file-photo-o:before,.uk-icon-file-picture-o:before{content:"\f1c5"}.uk-icon-file-archive-o:before,.uk-icon-file-zip-o:before{content:"\f1c6"}.uk-icon-file-audio-o:before,.uk-icon-file-sound-o:before{content:"\f1c7"}.uk-icon-file-movie-o:before,.uk-icon-file-video-o:before{content:"\f1c8"}.uk-icon-file-code-o:before{content:"\f1c9"}.uk-icon-vine:before{content:"\f1ca"}.uk-icon-codepen:before{content:"\f1cb"}.uk-icon-jsfiddle:before{content:"\f1cc"}.uk-icon-life-bouy:before,.uk-icon-life-buoy:before,.uk-icon-life-ring:before,.uk-icon-life-saver:before,.uk-icon-support:before{content:"\f1cd"}.uk-icon-circle-o-notch:before{content:"\f1ce"}.uk-icon-ra:before,.uk-icon-rebel:before{content:"\f1d0"}.uk-icon-empire:before,.uk-icon-ge:before{content:"\f1d1"}.uk-icon-git-square:before{content:"\f1d2"}.uk-icon-git:before{content:"\f1d3"}.uk-icon-hacker-news:before{content:"\f1d4"}.uk-icon-tencent-weibo:before{content:"\f1d5"}.uk-icon-qq:before{content:"\f1d6"}.uk-icon-wechat:before,.uk-icon-weixin:before{content:"\f1d7"}.uk-icon-paper-plane:before,.uk-icon-send:before{content:"\f1d8"}.uk-icon-paper-plane-o:before,.uk-icon-send-o:before{content:"\f1d9"}.uk-icon-history:before{content:"\f1da"}.uk-icon-circle-thin:before,.uk-icon-genderless:before{content:"\f1db"}.uk-icon-header:before{content:"\f1dc"}.uk-icon-paragraph:before{content:"\f1dd"}.uk-icon-sliders:before{content:"\f1de"}.uk-icon-share-alt:before{content:"\f1e0"}.uk-icon-share-alt-square:before{content:"\f1e1"}.uk-icon-bomb:before{content:"\f1e2"}.uk-icon-futbol-o:before,.uk-icon-soccer-ball-o:before{content:"\f1e3"}.uk-icon-tty:before{content:"\f1e4"}.uk-icon-binoculars:before{content:"\f1e5"}.uk-icon-plug:before{content:"\f1e6"}.uk-icon-slideshare:before{content:"\f1e7"}.uk-icon-twitch:before{content:"\f1e8"}.uk-icon-yelp:before{content:"\f1e9"}.uk-icon-newspaper-o:before{content:"\f1ea"}.uk-icon-wifi:before{content:"\f1eb"}.uk-icon-calculator:before{content:"\f1ec"}.uk-icon-paypal:before{content:"\f1ed"}.uk-icon-google-wallet:before{content:"\f1ee"}.uk-icon-cc-visa:before{content:"\f1f0"}.uk-icon-cc-mastercard:before{content:"\f1f1"}.uk-icon-cc-discover:before{content:"\f1f2"}.uk-icon-cc-amex:before{content:"\f1f3"}.uk-icon-cc-paypal:before{content:"\f1f4"}.uk-icon-cc-stripe:before{content:"\f1f5"}.uk-icon-bell-slash:before{content:"\f1f6"}.uk-icon-bell-slash-o:before{content:"\f1f7"}.uk-icon-trash:before{content:"\f1f8"}.uk-icon-copyright:before{content:"\f1f9"}.uk-icon-at:before{content:"\f1fa"}.uk-icon-eyedropper:before{content:"\f1fb"}.uk-icon-paint-brush:before{content:"\f1fc"}.uk-icon-birthday-cake:before{content:"\f1fd"}.uk-icon-area-chart:before{content:"\f1fe"}.uk-icon-pie-chart:before{content:"\f200"}.uk-icon-line-chart:before{content:"\f201"}.uk-icon-lastfm:before{content:"\f202"}.uk-icon-lastfm-square:before{content:"\f203"}.uk-icon-toggle-off:before{content:"\f204"}.uk-icon-toggle-on:before{content:"\f205"}.uk-icon-bicycle:before{content:"\f206"}.uk-icon-bus:before{content:"\f207"}.uk-icon-ioxhost:before{content:"\f208"}.uk-icon-angellist:before{content:"\f209"}.uk-icon-cc:before{content:"\f20a"}.uk-icon-ils:before,.uk-icon-shekel:before,.uk-icon-sheqel:before{content:"\f20b"}.uk-icon-meanpath:before{content:"\f20c"}.uk-icon-buysellads:before{content:"\f20d"}.uk-icon-connectdevelop:before{content:"\f20e"}.uk-icon-dashcube:before{content:"\f210"}.uk-icon-forumbee:before{content:"\f211"}.uk-icon-leanpub:before{content:"\f212"}.uk-icon-sellsy:before{content:"\f213"}.uk-icon-shirtsinbulk:before{content:"\f214"}.uk-icon-simplybuilt:before{content:"\f215"}.uk-icon-skyatlas:before{content:"\f216"}.uk-icon-cart-plus:before{content:"\f217"}.uk-icon-cart-arrow-down:before{content:"\f218"}.uk-icon-diamond:before{content:"\f219"}.uk-icon-ship:before{content:"\f21a"}.uk-icon-user-secret:before{content:"\f21b"}.uk-icon-motorcycle:before{content:"\f21c"}.uk-icon-street-view:before{content:"\f21d"}.uk-icon-heartbeat:before{content:"\f21e"}.uk-icon-venus:before{content:"\f221"}.uk-icon-mars:before{content:"\f222"}.uk-icon-mercury:before{content:"\f223"}.uk-icon-transgender:before{content:"\f224"}.uk-icon-transgender-alt:before{content:"\f225"}.uk-icon-venus-double:before{content:"\f226"}.uk-icon-mars-double:before{content:"\f227"}.uk-icon-venus-mars:before{content:"\f228"}.uk-icon-mars-stroke:before{content:"\f229"}.uk-icon-mars-stroke-v:before{content:"\f22a"}.uk-icon-mars-stroke-h:before{content:"\f22b"}.uk-icon-neuter:before{content:"\f22c"}.uk-icon-facebook-official:before{content:"\f230"}.uk-icon-pinterest-p:before{content:"\f231"}.uk-icon-whatsapp:before{content:"\f232"}.uk-icon-server:before{content:"\f233"}.uk-icon-user-plus:before{content:"\f234"}.uk-icon-user-times:before{content:"\f235"}.uk-icon-bed:before,.uk-icon-hotel:before{content:"\f236"}.uk-icon-viacoin:before{content:"\f237"}.uk-icon-train:before{content:"\f238"}.uk-icon-subway:before{content:"\f239"}.uk-icon-medium-logo:before{content:"\f23a"}.uk-icon-500px:before{content:"\f26e"}.uk-icon-amazon:before{content:"\f270"}.uk-icon-balance-scale:before{content:"\f24e"}.uk-icon-battery-0:before,.uk-icon-battery-empty:before{content:"\f244"}.uk-icon-battery-1:before,.uk-icon-battery-quarter:before{content:"\f243"}.uk-icon-battery-2:before,.uk-icon-battery-half:before{content:"\f242"}.uk-icon-battery-3:before,.uk-icon-battery-three-quarters:before{content:"\f241"}.uk-icon-battery-4:before,.uk-icon-battery-full:before{content:"\f240"}.uk-icon-black-tie:before{content:"\f27e"}.uk-icon-calendar-check-o:before{content:"\f274"}.uk-icon-calendar-minus-o:before{content:"\f272"}.uk-icon-calendar-plus-o:before{content:"\f271"}.uk-icon-calendar-times-o:before{content:"\f273"}.uk-icon-cc-diners-club:before{content:"\f24c"}.uk-icon-cc-jcb:before{content:"\f24b"}.uk-icon-chrome:before{content:"\f268"}.uk-icon-clone:before{content:"\f24d"}.uk-icon-commenting:before{content:"\f27a"}.uk-icon-commenting-o:before{content:"\f27b"}.uk-icon-contao:before{content:"\f26d"}.uk-icon-creative-commons:before{content:"\f25e"}.uk-icon-expeditedssl:before{content:"\f23e"}.uk-icon-firefox:before{content:"\f269"}.uk-icon-fonticons:before{content:"\f280"}.uk-icon-get-pocket:before{content:"\f265"}.uk-icon-gg:before{content:"\f260"}.uk-icon-gg-circle:before{content:"\f261"}.uk-icon-hand-lizard-o:before{content:"\f258"}.uk-icon-hand-paper-o:before,.uk-icon-hand-stop-o:before{content:"\f256"}.uk-icon-hand-peace-o:before{content:"\f25b"}.uk-icon-hand-pointer-o:before{content:"\f25a"}.uk-icon-hand-grab-o:before,.uk-icon-hand-rock-o:before{content:"\f255"}.uk-icon-hand-scissors-o:before{content:"\f257"}.uk-icon-hand-spock-o:before{content:"\f259"}.uk-icon-hourglass:before{content:"\f254"}.uk-icon-hourglass-o:before{content:"\f250"}.uk-icon-hourglass-1:before,.uk-icon-hourglass-start:before{content:"\f251"}.uk-icon-hourglass-2:before,.uk-icon-hourglass-half:before{content:"\f252"}.uk-icon-hourglass-3:before,.uk-icon-hourglass-end:before{content:"\f253"}.uk-icon-houzz:before{content:"\f27c"}.uk-icon-i-cursor:before{content:"\f246"}.uk-icon-industry:before{content:"\f275"}.uk-icon-internet-explorer:before{content:"\f26b"}.uk-icon-map:before{content:"\f279"}.uk-icon-map-o:before{content:"\f278"}.uk-icon-map-pin:before{content:"\f276"}.uk-icon-map-signs:before{content:"\f277"}.uk-icon-mouse-pointer:before{content:"\f245"}.uk-icon-object-group:before{content:"\f247"}.uk-icon-object-ungroup:before{content:"\f248"}.uk-icon-odnoklassniki:before{content:"\f263"}.uk-icon-odnoklassniki-square:before{content:"\f264"}.uk-icon-opencart:before{content:"\f23d"}.uk-icon-opera:before{content:"\f26a"}.uk-icon-optin-monster:before{content:"\f23c"}.uk-icon-registered:before{content:"\f25d"}.uk-icon-safari:before{content:"\f267"}.uk-icon-sticky-note:before{content:"\f249"}.uk-icon-sticky-note-o:before{content:"\f24a"}.uk-icon-television:before,.uk-icon-tv:before{content:"\f26c"}.uk-icon-trademark:before{content:"\f25c"}.uk-icon-tripadvisor:before{content:"\f262"}.uk-icon-vimeo:before{content:"\f27d"}.uk-icon-wikipedia-w:before{content:"\f266"}.uk-icon-y-combinator:before,.uk-icon-yc:before{content:"\f23b"}.uk-icon-y-combinator-square:before,.uk-icon-yc-square:before{content:"\f1d4"}.uk-icon-bluetooth:before{content:"\f293"}.uk-icon-bluetooth-b:before{content:"\f294"}.uk-icon-codiepie:before{content:"\f284"}.uk-icon-credit-card-alt:before{content:"\f283"}.uk-icon-edge:before{content:"\f282"}.uk-icon-fort-awesome:before{content:"\f286"}.uk-icon-hashtag:before{content:"\f292"}.uk-icon-mixcloud:before{content:"\f289"}.uk-icon-modx:before{content:"\f285"}.uk-icon-pause-circle:before{content:"\f28b"}.uk-icon-pause-circle-o:before{content:"\f28c"}.uk-icon-percent:before{content:"\f295"}.uk-icon-product-hunt:before{content:"\f288"}.uk-icon-reddit-alien:before{content:"\f281"}.uk-icon-scribd:before{content:"\f28a"}.uk-icon-shopping-bag:before{content:"\f290"}.uk-icon-shopping-basket:before{content:"\f291"}.uk-icon-stop-circle:before{content:"\f28d"}.uk-icon-stop-circle-o:before{content:"\f28e"}.uk-icon-usb:before{content:"\f287"}.uk-close::-moz-focus-inner{border:0;padding:0}.uk-close{border:none;font:inherit;color:inherit;padding:0;background:0 0;box-sizing:content-box;width:20px;line-height:20px}.uk-close:after{display:block}.uk-close:focus,.uk-close:hover{outline:0;color:inherit;text-decoration:none;cursor:pointer}.uk-badge,a.uk-badge:hover{color:#fff}.uk-close-alt{padding:2px;border-radius:50%;background:#eee;opacity:1}.uk-close-alt:after{opacity:.5}.uk-close-alt:focus:after,.uk-close-alt:hover:after{opacity:.8}.uk-badge{display:inline-block;text-align:center}.uk-badge-notification{box-sizing:border-box;min-width:18px;font-size:12px;line-height:18px}.uk-badge-success{background-color:#8cc14c}.uk-badge-warning{background-color:#faa732}.uk-badge-danger{background-color:#da314b}.uk-alert{margin-bottom:15px;padding:10px}*+.uk-alert{margin-top:15px}.uk-alert>:last-child{margin-bottom:0}.uk-alert h1,.uk-alert h2,.uk-alert h3,.uk-alert h4,.uk-alert h5,.uk-alert h6{color:inherit}.uk-alert>.uk-close:first-child+*{margin-top:0}.uk-alert-success{color:#659f13}.uk-alert-warning{color:#e28327}.uk-alert-danger{color:#d85030}.uk-alert-large>.uk-close:first-child{margin:-10px -10px 0 0}.uk-overlay,.uk-thumbnail{margin:0;display:inline-block;max-width:100%}.uk-overlay-area-content>:last-child,.uk-overlay-panel.uk-flex>*>:last-child,.uk-overlay-panel>:last-child,.uk-overlay>:first-child{margin-bottom:0}.uk-thumbnail{box-sizing:border-box;padding:4px;border:1px solid #ddd;background:#fff}a.uk-thumbnail:focus,a.uk-thumbnail:hover{border-color:#aaa;background-color:#fff;text-decoration:none;outline:0}.uk-thumbnail-caption{padding-top:4px;text-align:center}.uk-thumbnail-mini{width:150px}.uk-thumbnail-small{width:200px}.uk-thumbnail-medium{width:300px}.uk-thumbnail-large{width:400px}.uk-thumbnail-expand,.uk-thumbnail-expand>img{width:100%}.uk-overlay{position:relative;overflow:hidden;-webkit-transform:translateZ(0)}.uk-overlay-area:empty:before,.uk-overlay-icon:before{content:"\f002";width:50px;height:50px;margin-top:-25px;margin-left:-25px;font-size:50px;line-height:1;text-align:center;font-family:FontAwesome}.uk-overlay.uk-border-circle{-webkit-mask-image:-webkit-radial-gradient(circle,#fff 100%,#000 100%)}.uk-overlay-panel{position:absolute;top:0;bottom:0;left:0;right:0;padding:20px;color:#fff}.uk-overlay-panel a[class*=uk-icon-]:not(.uk-icon-button),.uk-overlay-panel h1,.uk-overlay-panel h2,.uk-overlay-panel h3,.uk-overlay-panel h4,.uk-overlay-panel h5,.uk-overlay-panel h6{color:inherit}.uk-overlay-panel a:not([class]){color:inherit;text-decoration:underline}.uk-overlay-active :not(.uk-active)>.uk-overlay-panel:not(.uk-ignore),.uk-overlay-hover:not(:hover):not(.uk-hover) .uk-overlay-panel:not(.uk-ignore){opacity:0}.uk-overlay-background{background:rgba(0,0,0,.5)}.uk-overlay-image{padding:0}.uk-overlay-top{bottom:auto}.uk-overlay-bottom{top:auto}.uk-overlay-left{right:auto}.uk-overlay-right{left:auto}.uk-overlay-icon:before{position:absolute;top:50%;left:50%;color:#fff}.uk-overlay-blur,.uk-overlay-fade,.uk-overlay-grayscale,.uk-overlay-scale,.uk-overlay-spin,[class*=uk-overlay-slide]{transition-duration:.3s;transition-timing-function:ease-out;transition-property:opacity,transform,filter}.uk-overlay-active .uk-overlay-fade,.uk-overlay-active .uk-overlay-scale,.uk-overlay-active .uk-overlay-spin,.uk-overlay-active [class*=uk-overlay-slide]{transition-duration:.8s}.uk-overlay-fade{opacity:.7}.uk-overlay-active .uk-active>.uk-overlay-fade,.uk-overlay-hover.uk-hover .uk-overlay-fade,.uk-overlay-hover:hover .uk-overlay-fade{opacity:1}.uk-overlay-scale{-webkit-transform:scale(1);transform:scale(1)}.uk-overlay-active .uk-active>.uk-overlay-scale,.uk-overlay-hover.uk-hover .uk-overlay-scale,.uk-overlay-hover:hover .uk-overlay-scale{-webkit-transform:scale(1.1);transform:scale(1.1)}.uk-overlay-spin{-webkit-transform:scale(1) rotate(0);transform:scale(1) rotate(0)}.uk-overlay-active .uk-active>.uk-overlay-spin,.uk-overlay-hover.uk-hover .uk-overlay-spin,.uk-overlay-hover:hover .uk-overlay-spin{-webkit-transform:scale(1.1) rotate(3deg);transform:scale(1.1) rotate(3deg)}.uk-overlay-grayscale{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.uk-overlay-active .uk-active>.uk-overlay-grayscale,.uk-overlay-hover.uk-hover .uk-overlay-grayscale,.uk-overlay-hover:hover .uk-overlay-grayscale{-webkit-filter:grayscale(0);filter:grayscale(0)}[class*=uk-overlay-slide]{opacity:0}.uk-overlay-slide-top{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.uk-overlay-slide-bottom{-webkit-transform:translateY(100%);transform:translateY(100%)}.uk-overlay-slide-left{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.uk-overlay-slide-right{-webkit-transform:translateX(100%);transform:translateX(100%)}.uk-overlay-active .uk-active>[class*=uk-overlay-slide],.uk-overlay-hover.uk-hover [class*=uk-overlay-slide],.uk-overlay-hover:hover [class*=uk-overlay-slide]{opacity:1;-webkit-transform:translateX(0) translateY(0);transform:translateX(0) translateY(0)}.uk-overlay-area,.uk-overlay-caption{-webkit-transform:translate3d(0,0,0);position:absolute;right:0;bottom:0}.uk-overlay-area{top:0;left:0;background:rgba(0,0,0,.3);opacity:0;transition:opacity .15s linear}.uk-overlay-toggle.uk-hover .uk-overlay-area,.uk-overlay-toggle:hover .uk-overlay-area,.uk-overlay.uk-hover .uk-overlay-area,.uk-overlay:hover .uk-overlay-area{opacity:1}.uk-overlay-area:empty:before{position:absolute;top:50%;left:50%;color:#fff}.uk-overlay-area:not(:empty){font-size:0}.uk-overlay-area:not(:empty):before{content:'';display:inline-block;height:100%;vertical-align:middle}.uk-overlay-area-content{display:inline-block;box-sizing:border-box;width:100%;font-size:1rem;text-align:center;padding:0 15px;color:#fff}.uk-overlay-area-content a:not([class]),.uk-overlay-area-content a:not([class]):hover{color:inherit}.uk-overlay-caption{left:0;padding:15px;background:rgba(0,0,0,.5);color:#fff;opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.uk-overlay-toggle.uk-hover .uk-overlay-caption,.uk-overlay-toggle:hover .uk-overlay-caption,.uk-overlay.uk-hover .uk-overlay-caption,.uk-overlay:hover .uk-overlay-caption{opacity:1}[class*=uk-column-]{-webkit-column-gap:25px;-moz-column-gap:25px;column-gap:25px}.uk-column-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}@media (min-width:480px){.uk-column-small-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-small-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-small-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-small-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-small-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}}@media (min-width:768px){.uk-column-medium-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-medium-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-medium-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-medium-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-medium-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}}@media (min-width:960px){.uk-column-large-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-large-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-large-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-large-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-large-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}}[class*=uk-animation-]{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}@media screen{[data-uk-scrollspy*=uk-animation-]:not([data-uk-scrollspy*=target]){opacity:0}}.uk-animation-fade{-webkit-animation-name:uk-fade;animation-name:uk-fade;-webkit-animation-duration:.8s;animation-duration:.8s;-webkit-animation-timing-function:linear!important;animation-timing-function:linear!important}.uk-animation-scale-up{-webkit-animation-name:uk-fade-scale-02;animation-name:uk-fade-scale-02}.uk-animation-scale-down{-webkit-animation-name:uk-fade-scale-18;animation-name:uk-fade-scale-18}.uk-animation-slide-top{-webkit-animation-name:uk-fade-top;animation-name:uk-fade-top}.uk-animation-slide-bottom{-webkit-animation-name:uk-fade-bottom;animation-name:uk-fade-bottom}.uk-animation-slide-left{-webkit-animation-name:uk-fade-left;animation-name:uk-fade-left}.uk-animation-slide-right{-webkit-animation-name:uk-fade-right;animation-name:uk-fade-right}.uk-animation-scale{-webkit-animation-name:uk-scale-12;animation-name:uk-scale-12}.uk-animation-shake{-webkit-animation-name:uk-shake;animation-name:uk-shake}.uk-animation-reverse{-webkit-animation-direction:reverse;animation-direction:reverse;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}.uk-animation-15{-webkit-animation-duration:15s;animation-duration:15s}.uk-animation-top-left{-webkit-transform-origin:0 0;transform-origin:0 0}.uk-animation-top-center{-webkit-transform-origin:50% 0;transform-origin:50% 0}.uk-animation-top-right{-webkit-transform-origin:100% 0;transform-origin:100% 0}.uk-animation-middle-left{-webkit-transform-origin:0 50%;transform-origin:0 50%}.uk-animation-middle-right{-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.uk-animation-bottom-left{-webkit-transform-origin:0 100%;transform-origin:0 100%}.uk-animation-bottom-center{-webkit-transform-origin:50% 100%;transform-origin:50% 100%}.uk-animation-bottom-right{-webkit-transform-origin:100% 100%;transform-origin:100% 100%}.uk-animation-hover:not(:hover),.uk-animation-hover:not(:hover) [class*=uk-animation-],.uk-touch .uk-animation-hover:not(.uk-hover),.uk-touch .uk-animation-hover:not(.uk-hover) [class*=uk-animation-]{-webkit-animation-name:none;animation-name:none}@-webkit-keyframes uk-fade{0%{opacity:0}100%{opacity:1}}@keyframes uk-fade{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes uk-fade-top{0%{opacity:0;-webkit-transform:translateY(-100%)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-fade-top{0%{opacity:0;transform:translateY(-100%)}100%{opacity:1;transform:translateY(0)}}@-webkit-keyframes uk-fade-bottom{0%{opacity:0;-webkit-transform:translateY(100%)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-fade-bottom{0%{opacity:0;transform:translateY(100%)}100%{opacity:1;transform:translateY(0)}}@-webkit-keyframes uk-fade-left{0%{opacity:0;-webkit-transform:translateX(-100%)}100%{opacity:1;-webkit-transform:translateX(0)}}@keyframes uk-fade-left{0%{opacity:0;transform:translateX(-100%)}100%{opacity:1;transform:translateX(0)}}@-webkit-keyframes uk-fade-right{0%{opacity:0;-webkit-transform:translateX(100%)}100%{opacity:1;-webkit-transform:translateX(0)}}@keyframes uk-fade-right{0%{opacity:0;transform:translateX(100%)}100%{opacity:1;transform:translateX(0)}}@-webkit-keyframes uk-fade-scale-02{0%{opacity:0;-webkit-transform:scale(.2)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes uk-fade-scale-02{0%{opacity:0;transform:scale(.2)}100%{opacity:1;transform:scale(1)}}@-webkit-keyframes uk-fade-scale-15{0%{opacity:0;-webkit-transform:scale(1.5)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes uk-fade-scale-15{0%{opacity:0;transform:scale(1.5)}100%{opacity:1;transform:scale(1)}}@-webkit-keyframes uk-fade-scale-18{0%{opacity:0;-webkit-transform:scale(1.8)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes uk-fade-scale-18{0%{opacity:0;transform:scale(1.8)}100%{opacity:1;transform:scale(1)}}@-webkit-keyframes uk-slide-left{0%{-webkit-transform:translateX(-100%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-left{0%{transform:translateX(-100%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-slide-right{0%{-webkit-transform:translateX(100%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-right{0%{transform:translateX(100%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-slide-left-33{0%{-webkit-transform:translateX(33%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-left-33{0%{transform:translateX(33%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-slide-right-33{0%{-webkit-transform:translateX(-33%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-right-33{0%{transform:translateX(-33%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-scale-12{0%{-webkit-transform:scale(1.2)}100%{-webkit-transform:scale(1)}}@keyframes uk-scale-12{0%{transform:scale(1.2)}100%{transform:scale(1)}}@-webkit-keyframes uk-rotate{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(359deg)}}@keyframes uk-rotate{0%{transform:rotate(0)}100%{transform:rotate(359deg)}}@-webkit-keyframes uk-shake{0%,100%{-webkit-transform:translateX(0)}10%{-webkit-transform:translateX(-9px)}20%{-webkit-transform:translateX(8px)}30%{-webkit-transform:translateX(-7px)}40%{-webkit-transform:translateX(6px)}50%{-webkit-transform:translateX(-5px)}60%{-webkit-transform:translateX(4px)}70%{-webkit-transform:translateX(-3px)}80%{-webkit-transform:translateX(2px)}90%{-webkit-transform:translateX(-1px)}}@keyframes uk-shake{0%,100%{transform:translateX(0)}10%{transform:translateX(-9px)}20%{transform:translateX(8px)}30%{transform:translateX(-7px)}40%{transform:translateX(6px)}50%{transform:translateX(-5px)}60%{transform:translateX(4px)}70%{transform:translateX(-3px)}80%{transform:translateX(2px)}90%{transform:translateX(-1px)}}@-webkit-keyframes uk-slide-top-fixed{0%{opacity:0;-webkit-transform:translateY(-10px)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-slide-top-fixed{0%{opacity:0;transform:translateY(-10px)}100%{opacity:1;transform:translateY(0)}}@-webkit-keyframes uk-slide-bottom-fixed{0%{opacity:0;-webkit-transform:translateY(10px)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-slide-bottom-fixed{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:translateY(0)}}.uk-dropdown,.uk-dropdown-blank{display:none;position:absolute;z-index:1020;box-sizing:border-box;width:200px}.uk-dropdown{padding:15px;background:#f5f5f5;color:#444;font-size:1rem;vertical-align:top}.uk-open>.uk-dropdown,.uk-open>.uk-dropdown-blank{display:block;-webkit-animation:uk-fade .2s ease-in-out;animation:uk-fade .2s ease-in-out;-webkit-transform-origin:0 0;transform-origin:0 0}.uk-dropdown-top{margin-top:-5px}.uk-dropdown-bottom{margin-top:5px}.uk-dropdown-left{margin-left:-5px}.uk-dropdown-right{margin-left:5px}.uk-dropdown .uk-nav{margin:0 -15px}.uk-dropdown-grid>[class*=uk-width-]>.uk-panel+.uk-panel,.uk-dropdown-stack>.uk-dropdown-grid>[class*=uk-width-]:nth-child(n+2),.uk-grid .uk-dropdown-grid+.uk-dropdown-grid{margin-top:15px}@media (min-width:768px){.uk-dropdown:not(.uk-dropdown-stack)>.uk-dropdown-grid{margin-left:-15px;margin-right:-15px}.uk-dropdown:not(.uk-dropdown-stack)>.uk-dropdown-grid>[class*=uk-width-]{padding-left:15px;padding-right:15px}.uk-dropdown:not(.uk-dropdown-stack)>.uk-dropdown-grid>[class*=uk-width-]:nth-child(n+2){border-left:1px solid #ddd}.uk-dropdown-width-2:not(.uk-dropdown-stack){width:400px}.uk-dropdown-width-3:not(.uk-dropdown-stack){width:600px}.uk-dropdown-width-4:not(.uk-dropdown-stack){width:800px}.uk-dropdown-width-5:not(.uk-dropdown-stack){width:1000px}}@media (max-width:767px){.uk-dropdown-grid>[class*=uk-width-]{width:100%}.uk-dropdown-grid>[class*=uk-width-]:nth-child(n+2){margin-top:15px}}.uk-dropdown-stack>.uk-dropdown-grid>[class*=uk-width-]{width:100%}.uk-dropdown-small{min-width:150px;width:auto;padding:5px;white-space:nowrap}.uk-dropdown-small .uk-nav{margin:0 -5px}.uk-dropdown-navbar{margin-top:0;background:#f5f5f5;color:#444}.uk-open>.uk-dropdown-navbar{-webkit-animation:uk-slide-top-fixed .2s ease-in-out;animation:uk-slide-top-fixed .2s ease-in-out}.uk-dropdown-scrollable{overflow-y:auto;max-height:200px}.uk-modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:auto;-webkit-overflow-scrolling:touch;opacity:0;touch-action:cross-slide-y pinch-zoom double-tap-zoom;-webkit-transform:translateZ(0);transform:translateZ(0)}.uk-modal.uk-open{opacity:1}.uk-modal-page,.uk-modal-page body{overflow:hidden}.uk-modal-dialog{position:relative;box-sizing:border-box;margin:50px auto;width:600px;max-width:100%;max-width:calc(100% - 20px);background:#fff;opacity:0;-webkit-transform:translateY(-100px);transform:translateY(-100px)}@media (max-width:767px){.uk-modal-dialog{width:auto;margin:10px auto}.uk-modal-dialog-lightbox>.uk-close:first-child{top:-7px;right:-7px}}.uk-open .uk-modal-dialog{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}.uk-modal-dialog>:not([class*=uk-modal-]):last-child{margin-bottom:0}.uk-modal-dialog>.uk-close:first-child+:not([class*=uk-modal-]){margin-top:0}.uk-modal-dialog-lightbox{margin:15px auto;max-width:95%;max-width:calc(100% - 30px)}.uk-modal-dialog-lightbox>.uk-close:first-child{position:absolute;margin:0;float:none}.uk-modal-dialog-blank{margin:0;padding:0;width:100%;max-width:100%;-webkit-transition:opacity .3s linear;transition:opacity .3s linear}.uk-modal-dialog-blank>.uk-close:first-child{position:absolute;top:20px;right:20px;z-index:1;margin:0;float:none}@media (min-width:768px){.uk-modal-dialog-large{width:930px}}@media (min-width:1220px){.uk-column-xlarge-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-xlarge-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-xlarge-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-xlarge-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-xlarge-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}.uk-modal-dialog-large{width:1130px}}.uk-modal-header{margin-bottom:15px}.uk-modal-footer{margin-top:15px}.uk-modal-footer>:last-child,.uk-modal-header>:last-child{margin-bottom:0}.uk-modal-caption{position:absolute;left:0;right:0;bottom:-20px;margin-bottom:-10px;color:#fff;text-align:center;overflow:hidden}.uk-modal-spinner{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);font-size:25px;color:#ddd}.uk-offcanvas,.uk-offcanvas-bar{position:fixed;left:0;top:0;bottom:0}.uk-modal-spinner:after{content:"\f110";font-family:FontAwesome;-webkit-animation:uk-rotate 2s infinite linear;animation:uk-rotate 2s infinite linear}.uk-clearfix:after,.uk-clearfix:before,.uk-container:after,.uk-container:before{content:""}.uk-offcanvas{display:none;right:0;z-index:1000;touch-action:none;background:rgba(0,0,0,.1)}.uk-offcanvas.uk-active{display:block}.uk-offcanvas-page{position:fixed;-webkit-transition:margin-left .3s ease-in-out;transition:margin-left .3s ease-in-out}.uk-offcanvas-bar{-webkit-transform:translateX(-100%);transform:translateX(-100%);z-index:1001;width:270px;max-width:100%;background:#333;overflow-y:auto;-webkit-overflow-scrolling:touch;-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;-ms-scroll-chaining:none}.uk-nbfc,.uk-text-truncate{overflow:hidden}.uk-offcanvas.uk-active .uk-offcanvas-bar.uk-offcanvas-bar-show{-webkit-transform:translateX(0);transform:translateX(0)}.uk-offcanvas-bar-flip{left:auto;right:0;-webkit-transform:translateX(100%);transform:translateX(100%)}.uk-offcanvas .uk-panel{margin:20px 15px;color:#777}.uk-offcanvas .uk-panel a:not([class]),.uk-offcanvas .uk-panel-title{color:#ccc}.uk-offcanvas .uk-panel a:not([class]):hover{color:#fff}.uk-switcher{margin:0;padding:0;list-style:none;touch-action:cross-slide-y pinch-zoom double-tap-zoom}.uk-margin,[class*=uk-align-]{margin-bottom:15px}.uk-switcher>:not(.uk-active){display:none}.uk-text-small{line-height:16px}.uk-text-large{font-size:18px;line-height:24px;font-weight:400}.uk-text-bold{font-weight:700}.uk-text-contrast{color:#fff!important}.uk-text-left{text-align:left!important}.uk-text-right{text-align:right!important}.uk-text-center{text-align:center!important}.uk-text-justify{text-align:justify!important}.uk-text-top{vertical-align:top!important}.uk-text-middle{vertical-align:middle!important}.uk-text-bottom{vertical-align:bottom!important}@media (max-width:959px){.uk-text-center-medium{text-align:center!important}.uk-text-left-medium{text-align:left!important}}.uk-text-nowrap{white-space:nowrap}.uk-text-break{-webkit-hyphens:auto;-ms-hyphens:auto;-moz-hyphens:auto;hyphens:auto}.uk-container{box-sizing:border-box;max-width:980px;padding:0 25px}@media (min-width:1220px){.uk-container{max-width:1200px;padding:0 35px}}.uk-container:after,.uk-container:before{display:table}.uk-container-center{margin-left:auto;margin-right:auto}.uk-clearfix:before{display:table-cell}.uk-clearfix:after{display:table}.uk-nbfc-alt{display:table-cell;width:10000px}.uk-float-left{float:left}.uk-float-right{float:right}[class*=uk-float-]{max-width:100%}[class*=uk-align-]{display:block}.uk-align-left{margin-right:15px;float:left}.uk-align-right{margin-left:15px;float:right}@media (min-width:768px){.uk-align-medium-left{margin-right:15px;float:left}.uk-align-medium-right{margin-left:15px;float:right}}.uk-align-center{margin-left:auto;margin-right:auto}.uk-vertical-align{font-size:0}.uk-vertical-align:before{content:'';display:inline-block;height:100%;vertical-align:middle}.uk-vertical-align-bottom,.uk-vertical-align-middle{display:inline-block;max-width:100%;font-size:1rem}.uk-vertical-align-middle{vertical-align:middle}.uk-vertical-align-bottom{vertical-align:bottom}[class*=uk-height]{box-sizing:border-box}.uk-height-1-1{height:100%}.uk-height-viewport{height:100vh;min-height:600px}.uk-nestable-empty,.uk-sortable-empty{min-height:30px}.uk-responsive-height,.uk-responsive-width{box-sizing:border-box}.uk-responsive-width{max-width:100%!important;height:auto}.uk-responsive-height{max-height:100%;width:auto}*+.uk-margin{margin-top:15px}.uk-margin-top{margin-top:15px!important}.uk-margin-left{margin-left:15px!important}.uk-margin-right{margin-right:15px!important}.uk-margin-large{margin-bottom:50px}*+.uk-margin-large{margin-top:50px}.uk-margin-large-left{margin-left:50px!important}.uk-margin-large-right{margin-right:50px!important}.uk-margin-small{margin-bottom:5px}*+.uk-margin-small{margin-top:5px}.uk-margin-small-top{margin-top:5px!important}.uk-margin-small-left{margin-left:5px!important}.uk-margin-small-right{margin-right:5px!important}.uk-margin-remove{margin:0!important}.uk-margin-top-remove{margin-top:0!important}.uk-margin-bottom-remove{margin-bottom:0!important}.uk-overflow-container>:last-child,.uk-scrollable-box>:last-child{margin-bottom:0}.uk-padding-remove{padding:0!important}.uk-padding-top-remove{padding-top:0!important}.uk-padding-bottom-remove{padding-bottom:0!important}.uk-padding-vertical-remove{padding-top:0!important;padding-bottom:0!important}.uk-border-circle{border-radius:50%}.uk-border-rounded{border-radius:5px}.uk-heading-large{font-size:36px;line-height:42px}.uk-link-muted,.uk-link-muted a,.uk-link-muted a:hover,.uk-link-muted:hover{color:#444}.uk-link-reset,.uk-link-reset a,.uk-link-reset a:focus,.uk-link-reset a:hover,.uk-link-reset:focus,.uk-link-reset:hover{color:inherit;text-decoration:none}.uk-scrollable-text{height:300px;overflow-y:scroll;-webkit-overflow-scrolling:touch;resize:both}.uk-scrollable-box{box-sizing:border-box;height:170px;padding:10px;border:1px solid #ddd;overflow:auto;-webkit-overflow-scrolling:touch;resize:both}.uk-contrast .uk-list-line>li:nth-child(n+2),.uk-contrast .uk-nav-side .uk-nav-divider,.uk-contrast .uk-tab-grid:before,.uk-contrast hr{border-top-color:rgba(255,255,255,.2)}.uk-overflow-hidden{overflow:hidden}.uk-overflow-container{overflow:auto;-webkit-overflow-scrolling:touch}.uk-position-absolute,[class*=uk-position-bottom],[class*=uk-position-top]{position:absolute!important}.uk-position-top{top:0;left:0;right:0}.uk-position-bottom{bottom:0;left:0;right:0}.uk-position-top-left{top:0;left:0}.uk-position-top-right{top:0;right:0}.uk-position-bottom-left{bottom:0;left:0}.uk-position-bottom-right{bottom:0;right:0}.uk-position-cover{position:absolute;top:0;bottom:0;left:0;right:0}.uk-position-relative{position:relative!important}.uk-position-z-index{z-index:1}.uk-display-block{display:block!important}.uk-display-inline{display:inline!important}.uk-display-inline-block{display:inline-block!important;max-width:100%}@media (min-width:960px){.uk-hidden-large,.uk-visible-medium,.uk-visible-small{display:none!important}}@media (min-width:768px) and (max-width:959px){.uk-hidden-medium,.uk-visible-large,.uk-visible-small{display:none!important}}@media (max-width:767px){.uk-text-center-small{text-align:center!important}.uk-text-left-small{text-align:left!important}.uk-hidden-small,.uk-visible-large,.uk-visible-medium{display:none!important}}.uk-hidden{display:none!important}.uk-visible-hover:hover .uk-hidden,.uk-visible-hover:hover .uk-invisible{display:block!important;visibility:visible!important}.uk-visible-hover-inline:hover .uk-hidden,.uk-visible-hover-inline:hover .uk-invisible{display:inline-block!important;visibility:visible!important}.uk-notouch .uk-hidden-notouch,.uk-touch .uk-hidden-touch{display:none!important}.uk-flex{display:-ms-flexbox;display:-webkit-flex;display:flex}.uk-flex-inline{display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex}.uk-flex-inline>*,.uk-flex>*{-ms-flex-negative:1}.uk-flex-top{-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start}.uk-flex-middle{-ms-flex-align:center;-webkit-align-items:center;align-items:center}.uk-flex-bottom{-ms-flex-align:end;-webkit-align-items:flex-end;align-items:flex-end}.uk-flex-center{-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.uk-flex-right{-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.uk-flex-space-between{-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.uk-flex-space-around{-ms-flex-pack:distribute;-webkit-justify-content:space-around;justify-content:space-around}.uk-flex-row-reverse{-ms-flex-direction:row-reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse}.uk-flex-column{-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.uk-flex-column-reverse{-ms-flex-direction:column-reverse;-webkit-flex-direction:column-reverse;flex-direction:column-reverse}.uk-flex-nowrap{-ms-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;flex-wrap:nowrap}.uk-flex-wrap{-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.uk-flex-wrap-reverse{-ms-flex-wrap:wrap-reverse;-webkit-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.uk-flex-wrap-top{-ms-flex-line-pack:start;-webkit-align-content:flex-start;align-content:flex-start}.uk-flex-wrap-middle{-ms-flex-line-pack:center;-webkit-align-content:center;align-content:center}.uk-flex-wrap-bottom{-ms-flex-line-pack:end;-webkit-align-content:flex-end;align-content:flex-end}.uk-flex-wrap-space-between{-ms-flex-line-pack:justify;-webkit-align-content:space-between;align-content:space-between}.uk-flex-wrap-space-around{-ms-flex-line-pack:distribute;-webkit-align-content:space-around;align-content:space-around}.uk-flex-order-first{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last{-ms-flex-order:99;-webkit-order:99;order:99}@media (min-width:480px){.uk-flex-order-first-small{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-small{-ms-flex-order:99;-webkit-order:99;order:99}}@media (min-width:768px){.uk-heading-large{font-size:52px;line-height:64px}.uk-flex-order-first-medium{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-medium{-ms-flex-order:99;-webkit-order:99;order:99}}@media (min-width:960px){.uk-flex-order-first-large{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-large{-ms-flex-order:99;-webkit-order:99;order:99}}@media (min-width:1220px){.uk-flex-order-first-xlarge{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-xlarge{-ms-flex-order:99;-webkit-order:99;order:99}}.uk-flex-item-none{-ms-flex:none;-webkit-flex:none;flex:none}.uk-flex-item-auto{-ms-flex:auto;-webkit-flex:auto;flex:auto;-ms-flex-negative:1}.uk-flex-item-1{-ms-flex:1;-webkit-flex:1;flex:1}.uk-contrast{color:#fff}.uk-contrast .uk-link,.uk-contrast a:not([class]){color:rgba(255,255,255,.7);text-decoration:none}.uk-contrast .uk-link:hover,.uk-contrast a:not([class]):hover{color:#fff;text-decoration:underline}.uk-contrast :not(pre)>code,.uk-contrast :not(pre)>kbd,.uk-contrast :not(pre)>samp,.uk-contrast em,.uk-contrast h1,.uk-contrast h2,.uk-contrast h3,.uk-contrast h4,.uk-contrast h5,.uk-contrast h6{color:#fff}.uk-contrast .uk-nav li>a,.uk-contrast .uk-nav li>a:hover{text-decoration:none}.uk-contrast .uk-nav-side>li>a{color:#fff}.uk-contrast .uk-nav-side>li>a:focus,.uk-contrast .uk-nav-side>li>a:hover{background:rgba(255,255,255,.1);color:#fff}.uk-contrast .uk-nav-side>li.uk-active>a{background:#fff;color:#444}.uk-contrast .uk-nav-side .uk-nav-header{color:#fff}.uk-contrast .uk-nav-side ul a{color:rgba(255,255,255,.7)}.uk-contrast .uk-nav-side ul a:hover{color:#fff}.uk-contrast .uk-subnav>*>a{color:rgba(255,255,255,.7);text-decoration:none}.uk-contrast .uk-subnav>*>a:focus,.uk-contrast .uk-subnav>*>a:hover{color:#fff;text-decoration:none}.uk-contrast .uk-subnav>.uk-active>a{color:#fff}.uk-contrast .uk-subnav-line>:nth-child(n+2):before{border-left-color:rgba(255,255,255,.2)}.uk-contrast .uk-subnav-pill>*>a:focus,.uk-contrast .uk-subnav-pill>*>a:hover{background:rgba(255,255,255,.7);color:#444;text-decoration:none}.uk-contrast .uk-subnav-pill>.uk-active>a{background:#fff;color:#444}.uk-contrast .uk-tab{border-bottom-color:rgba(255,255,255,.2)}.uk-contrast .uk-tab>li>a{border-color:transparent;color:rgba(255,255,255,.7)}.uk-contrast .uk-tab>li.uk-open>a,.uk-contrast .uk-tab>li>a:focus,.uk-contrast .uk-tab>li>a:hover{border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.7);color:#444;text-decoration:none}.uk-contrast .uk-tab>li.uk-active>a{border-color:rgba(255,255,255,.2);border-bottom-color:transparent;background:#fff;color:#444}.uk-contrast .uk-tab-center{border-bottom-color:rgba(255,255,255,.2)}.uk-contrast .uk-form input:not([type]),.uk-contrast .uk-form input[type=color],.uk-contrast .uk-form input[type=date],.uk-contrast .uk-form input[type=datetime-local],.uk-contrast .uk-form input[type=datetime],.uk-contrast .uk-form input[type=email],.uk-contrast .uk-form input[type=month],.uk-contrast .uk-form input[type=number],.uk-contrast .uk-form input[type=password],.uk-contrast .uk-form input[type=search],.uk-contrast .uk-form input[type=tel],.uk-contrast .uk-form input[type=text],.uk-contrast .uk-form input[type=time],.uk-contrast .uk-form input[type=url],.uk-contrast .uk-form input[type=week],.uk-contrast .uk-form select,.uk-contrast .uk-form textarea{border-color:rgba(255,255,255,.8);background:rgba(255,255,255,.8);color:#444;background-clip:padding-box}.uk-contrast .uk-form input:not([type]):focus,.uk-contrast .uk-form input[type=color]:focus,.uk-contrast .uk-form input[type=date]:focus,.uk-contrast .uk-form input[type=datetime-local]:focus,.uk-contrast .uk-form input[type=datetime]:focus,.uk-contrast .uk-form input[type=email]:focus,.uk-contrast .uk-form input[type=month]:focus,.uk-contrast .uk-form input[type=number]:focus,.uk-contrast .uk-form input[type=password]:focus,.uk-contrast .uk-form input[type=search]:focus,.uk-contrast .uk-form input[type=tel]:focus,.uk-contrast .uk-form input[type=text]:focus,.uk-contrast .uk-form input[type=time]:focus,.uk-contrast .uk-form input[type=url]:focus,.uk-contrast .uk-form input[type=week]:focus,.uk-contrast .uk-form select:focus,.uk-contrast .uk-form textarea:focus{border-color:#fff;background:#fff;color:#444}.uk-contrast .uk-form :-ms-input-placeholder{color:rgba(68,68,68,.7)!important}.uk-contrast .uk-form ::-moz-placeholder{color:rgba(68,68,68,.7)}.uk-contrast .uk-form ::-webkit-input-placeholder{color:rgba(68,68,68,.7)}.uk-contrast .uk-button{color:#444;background:#fff}.uk-contrast .uk-button:focus,.uk-contrast .uk-button:hover{background-color:rgba(255,255,255,.8);color:#444}.uk-contrast .uk-button.uk-active,.uk-contrast .uk-button:active{background-color:rgba(255,255,255,.7);color:#444}.uk-contrast .uk-button-primary{background-color:#00a8e6;color:#fff}.uk-contrast .uk-button-primary:focus,.uk-contrast .uk-button-primary:hover{background-color:#35b3ee;color:#fff}.uk-contrast .uk-button-primary.uk-active,.uk-contrast .uk-button-primary:active{background-color:#0091ca;color:#fff}.uk-contrast .uk-icon-hover{color:rgba(255,255,255,.7)}.uk-contrast .uk-icon-hover:hover{color:#fff}.uk-contrast .uk-icon-button{background:#fff;color:#444}.uk-contrast .uk-icon-button:focus,.uk-contrast .uk-icon-button:hover{background-color:rgba(255,255,255,.8);color:#444}.uk-contrast .uk-icon-button:active{background-color:rgba(255,255,255,.7);color:#444}.uk-contrast .uk-text-muted{color:rgba(255,255,255,.6)!important}.uk-contrast .uk-text-primary{color:#2d7091!important}@media print{blockquote,img,pre,tr{page-break-inside:avoid}*,:after,:before{background:0 0!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}blockquote,pre{border:1px solid #999}thead{display:table-header-group}img{max-width:100%!important}@page{margin:.5cm}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.uk-alert,.uk-badge{border:none;text-shadow:none}.uk-form-width-large,.uk-form-width-medium,.uk-form-width-mini,.uk-form-width-small,.uk-notify{max-width:100%}[class^=uk-animation-]{-webkit-animation-timing-function:cubic-bezier(.4,0,.2,1);animation-timing-function:cubic-bezier(.4,0,.2,1);-webkit-animation-duration:280ms;animation-duration:280ms}.uk-alert{background:#1976d2;color:#fff;padding-right:32px;position:relative;display:block}.uk-alert-success{background:#8bc34a!important}.uk-alert-danger{background:#e53935!important}.uk-alert-warning{background:#ffa000!important}.uk-alert-info{background:#0097a7!important}.uk-alert-large{padding:24px 32px 24px 24px}.uk-alert-close{position:absolute;top:10px;right:8px;float:none!important;margin:0!important}.uk-alert-close:after{color:#fff!important}.uk-badge{background:#0097a7;padding:5px 10px;border-radius:2px;font-size:13px;line-height:15px;font-weight:400}.uk-badge-primary{background:#2196f3}.uk-badge-danger{background:#e53935}.uk-badge-warning{background:#ffa000}.uk-badge-success{background:#7cb342}.uk-badge-muted{background:#bdbdbd}.uk-badge-notification{border-radius:20px}.uk-badge.inline-label{vertical-align:1px;margin-left:4px}.uk-input-group-addon,.uk-nestable-toggle,.uk-table-align-vertical td,.uk-table-align-vertical th{vertical-align:middle}.uk-badge-outline{border:1px solid rgba(0,0,0,.12);background:#fff;color:#212121;padding-bottom:0;line-height:16px}.uk-button{font-weight:400;border-radius:2px;-webkit-transition:all .2s cubic-bezier(.4,0,.2,1);transition:all .2s cubic-bezier(.4,0,.2,1)}.uk-comment-list>li+li{border-top:1px dashed rgba(0,0,0,.12);margin-top:16px!important}.uk-comment-list .uk-comment+ul{list-style:none;margin:8px 0 0}@media only screen and (min-width:768px){.uk-comment-list .uk-comment+ul{padding-left:48px}}.uk-comment-header{padding:16px 8px 8px;border:none;background:0 0;margin-bottom:0}.uk-comment-title{margin:0;font-size:14px;line-height:20px}.uk-modal{z-index:1304;background:rgba(0,0,0,.5);-webkit-transition:opacity 250ms ease-out;transition:opacity 250ms ease-out;overflow:auto!important}.uk-modal.uk-modal-no-backdrop{background:0 0}.uk-modal-dialog{border-radius:2px;box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22);padding:24px;display:block!important;-webkit-animation:none!important;animation:none!important;-webkit-transition:-webkit-transform 280ms cubic-bezier(.4,0,.2,1),opacity 280ms ease-in;transition:transform 280ms cubic-bezier(.4,0,.2,1),opacity 280ms ease-in;-webkit-transform:scale(0);transform:scale(0)}.uk-open .uk-modal-dialog{-webkit-transform:scale(1);transform:scale(1)}.uk-modal-dialog .uk-modal-header{background:0 0;border-bottom:none;margin:0 -24px 24px;padding:0 32px 0 24px;overflow:hidden}.uk-modal-dialog .uk-modal-header .uk-modal-title{margin:0;font:500 18px/28px Roboto,sans-serif}.uk-modal-dialog .uk-modal-header .uk-modal-title span{font-size:16px;display:block;color:#727272}.uk-modal-dialog .uk-modal-footer{margin:16px -16px -16px;padding:16px;background:#fff;border-top:none}.uk-modal-dialog .uk-modal-footer:after,.uk-modal-dialog .uk-modal-footer:before{content:" ";display:table}.uk-modal-dialog .uk-modal-footer .md-icon-btn{margin-top:2px}.uk-modal-dialog .uk-modal-caption{bottom:16px;margin:0 32px}.uk-modal-dialog>.uk-close:first-child{top:8px;right:8px;position:absolute;float:none;margin:0}.uk-modal-dialog-lightbox{padding:0}.uk-modal-dialog-lightbox>.uk-close:first-child{top:-11px;right:-11px;box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23);border:none}.uk-modal-dialog .uk-overflow-container{margin:16px 0}.uk-modal .uk-margin.uk-modal-content{margin-bottom:0}.uk-modal.uk-modal-dialog-replace .uk-modal-content{font-size:18px}.uk-dropdown{-webkit-transform:scale(.25,0);transform:scale(.25,0);opacity:0;-webkit-transition:all 280ms cubic-bezier(.4,0,.2,1);transition:all 280ms cubic-bezier(.4,0,.2,1);-webkit-animation:none!important;animation:none!important;-webkit-transform-origin:50% 0!important;transform-origin:50% 0!important;box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);border:none;border-radius:2px}.uk-close,.uk-close:focus,.uk-close:hover{opacity:1}.uk-dropdown.uk-dropdown-xlarge{width:360px}@media only screen and (max-width:479px){.uk-dropdown.uk-dropdown-xlarge{width:260px}}.uk-dropdown.uk-dropdown-large{width:260px}.uk-dropdown.uk-dropdown-small{width:160px}.uk-dropdown.uk-dropdown-xsmall{min-width:130px!important;width:130px!important;padding:5px 15px!important}.uk-dropdown>ul>li>a{font-size:14px;color:#212121}.uk-dropdown>ul>li.uk-active>a,.uk-dropdown>ul>li>a:hover{background:rgba(0,0,0,.085)}.uk-dropdown.dropdown-modal{z-index:1310}.uk-dropdown.dropdown-fs{z-index:9999}.uk-dropdown.uk-dropdown-scrollable{-webkit-overflow-scrolling:touch}[data-uk-dropdown*=top-] .uk-dropdown{-webkit-transform-origin:50% 100%!important;transform-origin:50% 100%!important}[data-uk-dropdown*=left-] .uk-dropdown{-webkit-transform-origin:100% 50%!important;transform-origin:100% 50%!important}[data-uk-dropdown*=right-] .uk-dropdown{-webkit-transform-origin:0 50%!important;transform-origin:0 50%!important}[data-uk-dropdown*=justify]{position:static!important}[data-uk-dropdown*=justify] [class*=uk-dropdown-width]{left:0!important;width:100%!important;min-width:inherit!important;margin-left:0!important}.uk-dropdown-active{display:block!important}.uk-dropdown-shown{-webkit-transform:scale(1,1);transform:scale(1,1);opacity:1}.uk-nav-dropdown>li>a:focus,.uk-nav-dropdown>li>a:hover{text-shadow:none;box-shadow:none;color:#212121;background:rgba(153,153,153,.2)}.uk-form input:not([type]),.uk-form input[type=color],.uk-form input[type=date],.uk-form input[type=datetime-local],.uk-form input[type=email],.uk-form input[type=month],.uk-form input[type=number],.uk-form input[type=password],.uk-form input[type=search],.uk-form input[type=tel],.uk-form input[type=text],.uk-form input[type=time],.uk-form input[type=url],.uk-form input[type=week],.uk-form select,.uk-form textarea{box-sizing:border-box;padding:8px;border:1px solid rgba(0,0,0,.12);-webkit-transition:border .2s ease-in;transition:border .2s ease-in;resize:none}.uk-form input:not([type]):focus,.uk-form input[type=color]:focus,.uk-form input[type=date]:focus,.uk-form input[type=datetime-local]:focus,.uk-form input[type=email]:focus,.uk-form input[type=month]:focus,.uk-form input[type=number]:focus,.uk-form input[type=password]:focus,.uk-form input[type=search]:focus,.uk-form input[type=tel]:focus,.uk-form input[type=text]:focus,.uk-form input[type=time]:focus,.uk-form input[type=url]:focus,.uk-form input[type=week]:focus,.uk-form select:focus,.uk-form textarea:focus{background:0 0;border-color:#2196f3}.uk-form textarea{-webkit-transition:border-color .2s ease-in,height 280ms ease-in;transition:border-color .2s ease-in,height 280ms ease-in}.uk-form-row{-webkit-transition:all .2s ease-out;transition:all .2s ease-out}.uk-form-row+.uk-form-row{margin-top:24px}.uk-form-stacked .uk-form-label{font-weight:500;font-size:13px;display:block;padding-bottom:8px}.uk-form-stacked .uk-form-label+p{margin-top:0}.uk-form-help-block{display:block;font-size:12px;color:#727272;padding:4px 0 0;font-style:italic}.uk-grid+.uk-grid,.uk-grid-margin,.uk-grid>*>.uk-panel+.uk-panel{margin-top:24px}.uk-grid.uk-grid-small+.uk-grid-small,.uk-grid.uk-grid-small>*>.uk-panel+.uk-panel,.uk-grid.uk-grid-small>.uk-grid-margin{margin-top:10px}[class*=uk-icon-]{color:#727272}.uk-input-group{position:relative;display:table;border-collapse:separate}.uk-input-group>input[type=text]{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.uk-input-group-addon,.uk-input-group>input[type=text]{display:table-cell}.uk-input-group-addon{width:1%;white-space:nowrap;line-height:1;text-align:center;padding:0 16px;font-size:16px;min-width:22px}.uk-input-group>.md-input-wrapper{display:inline-block}.uk-input-group.uk-input-group-danger .uk-input-group-addon i{color:#e53935!important}.uk-input-group.uk-input-group-danger+.parsley-errors-list{margin-left:58px}.uk-input-group.uk-input-group-success .uk-input-group-addon i{color:#7cb342!important}.uk-pagination{margin:0}.uk-pagination>li{outline:0!important}.uk-pagination>li>a,.uk-pagination>li>span{border:none;padding:4px 8px;min-width:32px;line-height:24px;height:32px;box-sizing:border-box;text-shadow:none;color:#212121;border-radius:4px}.uk-dotnav>*>*,.uk-progress{height:20px;overflow:hidden}.uk-pagination>li>a [class*=uk-icon-],.uk-pagination>li>span [class*=uk-icon-]{font-size:16px}.uk-pagination>li>a{background:0 0}.uk-pagination>li>a:hover{background:#e1efd2}.uk-pagination>li.uk-active>a,.uk-pagination>li.uk-active>span{background:#7cb342}.uk-pagination>li.uk-active>a,.uk-pagination>li.uk-active>a:hover,.uk-pagination>li.uk-active>span,.uk-pagination>li.uk-active>span:hover{color:#fff}.uk-pagination>li.uk-disabled>a,.uk-pagination>li.uk-disabled>span{border:none;text-shadow:none;background:0 0!important;color:#aaa;cursor:default}.uk-panel-box{border-radius:2px;background:#fff;border-color:rgba(0,0,0,.12)}.uk-panel-box .uk-panel-teaser{border-radius:2px 2px 0 0}.uk-table th{border-bottom:1px #444}.uk-table-nowrap td,.uk-table-nowrap th{white-space:nowrap}.uk-table-no-border td{border-bottom-color:transparent}.uk-sticky-placeholder .uk-active{z-index:1094}.uk-subnav-pill>*>*{color:#212121}.uk-subnav-pill>.uk-active>*{background:#7cb342}.uk-table thead th{border-bottom:2px solid rgba(0,0,0,.12)}.uk-table tfoot td,.uk-table tfoot th,.uk-table thead th{font-style:normal;font-weight:400;color:#727272;font-size:14px}.uk-table td{border-bottom-color:#e0e0e0}.uk-table tfoot td,.uk-table tfoot th{border-top:2px solid rgba(0,0,0,.12);border-bottom:none}.uk-table-hover tbody tr:hover,.uk-table-striped tbody tr:nth-of-type(odd){background:rgba(0,0,0,.085)}.uk-thumbnail{border-radius:0;border-color:rgba(0,0,0,.12)}.uk-thumbnail-caption{padding:4px 4px 0;line-height:20px;color:#727272;font-size:12px}.uk-text-small{font-size:12px}.uk-text-muted{color:#757575!important}.uk-text-primary{color:#2196f3!important}.uk-text-danger{color:#e53935!important}.uk-text-success{color:#7cb342!important}.uk-text-warning{color:#ffa000!important}.uk-accordion-title:after,.uk-close:after{font-family:"Material Icons";color:#727272}.uk-margin-bottom{margin-bottom:16px!important}.uk-margin-small-bottom{margin-bottom:8px!important}.uk-margin-medium-bottom{margin-bottom:32px!important}.uk-margin-large-bottom{margin-bottom:48px!important}.uk-margin-medium-top{margin-top:32px!important}.uk-margin-large-top{margin-top:48px!important}.uk-close{font-size:18px}.uk-close:after{opacity:1!important;content:'\e5cd'}.uk-accordion-title{margin-top:0;margin-bottom:15px;line-height:24px;cursor:pointer}.uk-accordion-content:after,.uk-accordion-content:before{content:"";display:table}.uk-accordion-content>:last-child{margin-bottom:0}.uk-accordion-title{background:rgba(153,153,153,.2);border-radius:0;border:none;margin:0 0 4px;font-size:15px;font-weight:400;padding:8px 24px 8px 16px;position:relative}.uk-accordion-title:after{content:'\e313';font-size:18px;position:absolute;top:8px;right:8px;display:block;-webkit-transition:-webkit-transform 280ms;transition:transform 280ms}.uk-accordion-title.uk-active:after{-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}.uk-accordion-title-primary{background:#2196f3;color:#fff}.uk-accordion-title-primary:after{color:#fff}.uk-accordion-title-danger{background:#e53935;color:#fff}.uk-accordion-title-danger:after{color:#fff}.uk-accordion-title-success{background:#7cb342;color:#fff}.uk-accordion-title-success:after{color:#fff}.uk-accordion-title-warning{background:#ffa000;color:#fff}.uk-accordion-title-warning:after{color:#fff}.uk-accordion-content{padding:16px}.uk-accordion-alt .uk-accordion-title{background:#fff;margin:0;padding:16px 24px 16px 48px;border-top:1px solid rgba(0,0,0,.12)}.uk-accordion-alt .uk-accordion-title:first-child{border-top:none}.uk-accordion-alt .uk-accordion-title:after{color:#2196f3;content:'\e145';right:auto;left:16px;top:16px}.uk-accordion-alt .uk-accordion-title.uk-active:after{-webkit-transform:rotate(-180deg);transform:rotate(-180deg);content:'\e15b'}.uk-accordion-alt .uk-accordion-content{padding:24px}.uk-dotnav{display:-ms-flexbox;display:-webkit-flex;display:-webkit-box;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-left:-15px;margin-top:-15px;padding:0;list-style:none}*+.uk-progress,.uk-dotnav>*{margin-top:15px}.uk-dotnav>*{-ms-flex:none;-webkit-flex:none;-webkit-box-flex:0;flex:none;padding-left:15px;float:left}.uk-dotnav:after,.uk-dotnav:before{content:"";display:block;overflow:hidden}.uk-dotnav>*>*{display:block;box-sizing:content-box;width:20px;border-radius:50%;background:rgba(50,50,50,.1);text-indent:100%;white-space:nowrap}.uk-file-upload,.uk-htmleditor .CodeMirror,.uk-htmleditor-code,.uk-htmleditor-preview,.uk-notify,.uk-progress,.uk-slidenav{box-sizing:border-box}.uk-dotnav>*>:focus,.uk-dotnav>*>:hover{background:rgba(50,50,50,.4);outline:0}.uk-dotnav>*>:active{background:rgba(50,50,50,.6)}.uk-dotnav>.uk-active>*{background:rgba(50,50,50,.4)}.uk-dotnav-contrast>*>*{background:rgba(255,255,255,.4)}.uk-dotnav-contrast>*>:focus,.uk-dotnav-contrast>*>:hover{background:rgba(255,255,255,.7)}.uk-dotnav-contrast>*>:active,.uk-dotnav-contrast>.uk-active>*{background:rgba(255,255,255,.9)}.uk-dotnav-vertical{-ms-flex-direction:column;-webkit-flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.uk-dotnav-vertical>*{float:none}.uk-progress{margin-bottom:15px;background:#f5f5f5;line-height:20px}.uk-progress-bar{width:0;height:100%;float:left;-webkit-transition:width .6s ease;transition:width .6s ease;font-size:12px;color:#fff;text-align:center;box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)}.uk-progress-mini{height:6px}.uk-progress-small{height:12px}.uk-progress-striped .uk-progress-bar{background-image:-webkit-linear-gradient(135deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:30px 30px}.uk-progress-striped.uk-active .uk-progress-bar{-webkit-animation:uk-progress-bar-stripes 2s linear infinite;animation:uk-progress-bar-stripes 2s linear infinite}@-webkit-keyframes uk-progress-bar-stripes{0%{background-position:0 0}100%{background-position:30px 0}}@keyframes uk-progress-bar-stripes{0%{background-position:0 0}100%{background-position:30px 0}}.uk-progress-mini,.uk-progress-small{border-radius:500px}.uk-progress{box-shadow:none;border-radius:2px}.uk-progress-bar{background:#009688}.uk-progress-success .uk-progress-bar{background-color:#7cb342}.uk-progress-danger .uk-progress-bar{background-color:#e53935}.uk-progress-warning .uk-progress-bar{background-color:#ffa000}.uk-htmleditor-navbar{border:1px solid rgba(0,0,0,.06);border-top-left-radius:4px;border-top-right-radius:4px}.uk-htmleditor-navbar-nav>li.uk-active>a,.uk-htmleditor-navbar-nav>li:hover>a,.uk-htmleditor-navbar-nav>li>a:active,.uk-htmleditor-navbar-nav>li>a:focus{color:#444;border-left-color:rgba(0,0,0,.1);border-right-color:rgba(0,0,0,.1)}.uk-htmleditor-navbar:after,.uk-htmleditor-navbar:before{content:"";display:table}.uk-htmleditor-navbar-nav{margin:0;padding:0;list-style:none;float:left}.uk-htmleditor-navbar-nav>li{float:left}.uk-htmleditor-navbar-nav>li>a{display:block;box-sizing:border-box;text-decoration:none;padding:0 15px;line-height:40px;color:#444;font-size:11px;cursor:pointer;margin-top:-1px;margin-left:-1px;text-shadow:0 1px 0 #fff}.uk-htmleditor-navbar-nav>li:hover>a,.uk-htmleditor-navbar-nav>li>a:focus{background-color:#fafafa;outline:0;position:relative;z-index:1;border-top-color:rgba(0,0,0,.1)}.uk-htmleditor-navbar-nav>li>a:active{background-color:#eee;border-top-color:rgba(0,0,0,.2)}.uk-htmleditor-navbar-nav>li.uk-active>a{background-color:#fafafa;border-top-color:rgba(0,0,0,.1)}.uk-htmleditor-navbar-flip{float:right}[data-mode=split] .uk-htmleditor-button-code,[data-mode=split] .uk-htmleditor-button-preview{display:none}.uk-htmleditor-content{background:#fff;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.uk-htmleditor-content:after,.uk-htmleditor-content:before{content:"";display:table}.uk-htmleditor-fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1154}.uk-htmleditor-fullscreen .uk-htmleditor-content{position:absolute;left:0;right:0;bottom:0}.uk-htmleditor-fullscreen .uk-icon-expand:before{content:"\f066"}.uk-htmleditor-preview{padding:20px;overflow-y:scroll;position:relative}[data-mode=tab][data-active-tab=code] .uk-htmleditor-preview,[data-mode=tab][data-active-tab=preview] .uk-htmleditor-code{display:none}.uk-form-file,.uk-form-select{display:inline-block;overflow:hidden;vertical-align:middle}[data-mode=split] .uk-htmleditor-code,[data-mode=split] .uk-htmleditor-preview{float:left;width:50%}[data-mode=split] .uk-htmleditor-code{border-right:1px solid #eee}.uk-htmleditor-iframe{position:absolute;top:0;left:0;width:100%;height:100%}.uk-htmleditor .CodeMirror{padding:10px}.uk-htmleditor-navbar-nav:first-child>li:first-child>a{border-top-left-radius:4px}.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav>li>a{margin-left:0;margin-right:-1px}.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav:first-child>li:first-child>a{border-top-left-radius:0}.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav:last-child>li:last-child>a{border-top-right-radius:4px}.uk-htmleditor-fullscreen .uk-htmleditor-navbar{border-top:none;border-left:none;border-right:none;border-radius:0}.uk-htmleditor-fullscreen .uk-htmleditor-content{border:none;border-radius:0;top:38px}.uk-form-file input[type=file],.uk-form-select select{top:0;z-index:1;width:100%;cursor:pointer;opacity:0;left:0}.uk-htmleditor-fullscreen .uk-htmleditor-navbar-nav>li>a{border-radius:0!important}.uk-htmleditor-navbar{border-radius:0;background:#f9f9f9;border-width:1px 1px 0;border-style:solid;border-color:rgba(0,0,0,.12);overflow:hidden}.uk-htmleditor-navbar-nav>li>a{border:none;border-radius:0!important;height:38px}.uk-htmleditor-navbar-nav>li.uk-active>a,.uk-htmleditor-navbar-nav>li:hover>a,.uk-htmleditor-navbar-nav>li>a:focus{background:#ebebeb}.uk-htmleditor-content{border-radius:0;border:1px solid rgba(0,0,0,.12)}.uk-htmleditor-fullscreen .uk-htmleditor-navbar{border-bottom:1px solid rgba(0,0,0,.12)}.uk-form-file{position:relative}.uk-dragover{box-shadow:0 0 20px rgba(100,100,100,.3)}.uk-file-upload{width:100%;padding:32px 16px;background:#f5f5f5;text-align:center;-webkit-transition:all .2s ease-in;transition:all .2s ease-in}.uk-file-upload p{margin:0}.uk-file-upload.uk-dragover{box-shadow:0 0 6px rgba(0,0,0,.3)}div.uk-form-file{padding:3px 2px}.uk-form-file input[type=file]{position:absolute;font-size:500px}.uk-form-file input[type=file]::-webkit-file-upload-button{cursor:pointer}.uk-form-select{position:relative}.uk-form-select select{position:absolute;height:100%}.uk-datepicker{z-index:1094;width:auto;padding:0}.uk-datepicker-nav{margin-bottom:15px;text-align:center;line-height:20px;background:#009688;padding:10px 0}.uk-datepicker-nav a,.uk-datepicker-nav a:hover{text-decoration:none;color:#fff}.uk-datepicker-nav .uk-form-select{font:400 16px/22px Roboto,sans-serif;color:#fff;text-transform:uppercase}.uk-datepicker-previous{float:left;margin-left:8px}.uk-datepicker-previous:after{content:"\f053"}.uk-datepicker-next{float:right;margin-right:8px}.uk-datepicker-next:after{content:"\f054"}.uk-datepicker-next:after,.uk-datepicker-previous:after{width:20px;font-family:FontAwesome}.uk-datepicker.dp-top{-webkit-transform-origin:50% 100%!important;transform-origin:50% 100%!important}.uk-datepicker-table{width:100%}.uk-datepicker-table td,.uk-datepicker-table th{padding:2px;font:400 13px/15px Roboto,sans-serif}.uk-datepicker-table th{color:#727272;font-size:12px;text-transform:uppercase}.uk-datepicker-table a{display:block;width:30px;line-height:30px;height:30px;text-align:center;text-decoration:none;border-radius:50%;color:#212121}.uk-datepicker-table a:hover{background-color:rgba(0,0,0,.085);color:#212121;outline:0}.uk-datepicker-table a.uk-active{background-color:#009688;color:#fff}a.uk-datepicker-table-muted{color:#999}.uk-autocomplete .uk-dropdown{display:block;max-height:0;padding:0;overflow-x:hidden;overflow-y:auto;border-radius:0;border:none;-webkit-transform:scale(.25,0);transform:scale(.25,0);opacity:0;-webkit-transition:all 280ms cubic-bezier(.4,0,.2,1);transition:all 280ms cubic-bezier(.4,0,.2,1);-webkit-animation:none!important;animation:none!important;-webkit-transform-origin:0 0;transform-origin:0 0}.uk-autocomplete.uk-open .uk-dropdown{-webkit-transform:scale(1);transform:scale(1);opacity:1;max-height:210px}.uk-form-password-toggle{position:absolute;right:8px;top:16px;color:#727272}.uk-form-password-toggle:hover{color:#727272}.uk-nestable{padding:0;list-style:none}.uk-nestable-list{margin:0;padding-left:40px;list-style:none}.uk-nestable-item{-ms-touch-action:none;touch-action:none}.uk-nestable-item+.uk-nestable-item,.uk-nestable-list:not(.uk-nestable-dragged)>.uk-nestable-item:first-child{margin-top:10px}.uk-nestable-dragged{position:absolute;z-index:1050;pointer-events:none;padding-left:0}.uk-nestable-placeholder{position:relative}.uk-nestable-placeholder>*{opacity:0}.uk-nestable-handle{-ms-touch-action:none;touch-action:none;margin-right:16px}.uk-nestable-handle:hover,.uk-nestable-moving,.uk-nestable-moving *{cursor:move}[data-nestable-action=toggle]{cursor:pointer;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.uk-nestable-toggle{visibility:hidden;font-size:18px;height:18px;width:18px;line-height:18px;overflow:hidden;margin-right:8px;display:none}.uk-parent>:not(.uk-nestable-list) .uk-nestable-toggle{visibility:visible}.uk-collapsed .uk-nestable-list{display:none}.uk-nestable-panel{padding:8px 16px;background:#fff;border-radius:4px;border:none;text-shadow:none;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.uk-nestable-placeholder:after{content:'';position:absolute;top:0;bottom:0;left:0;right:0;border:none;background:rgba(0,0,0,.085);opacity:1}.uk-nestable-toggle:after{vertical-align:top;content:'\e316';font-family:"Material Icons"}.uk-parent>.uk-nestable-panel .uk-nestable-toggle{display:inline-block}.uk-collapsed .uk-nestable-toggle:after{content:"\e313"}.uk-notify{position:fixed;left:10px}.uk-notify-bottom-right,.uk-notify-top-right{left:auto}.uk-notify-bottom-center,.uk-notify-top-center{left:50%}@media (max-width:479px){.uk-notify{left:10px;right:10px;width:auto;margin:0}}.uk-notify-bottom-left,.uk-notify-top-left{left:24px}.uk-notify-bottom-right,.uk-notify-top-right{right:24px}.uk-notify-message{position:relative;margin-bottom:10px;color:#fff;cursor:pointer}.uk-notify-message>.uk-close{visibility:hidden;float:right}.uk-notify-message:hover>.uk-close{visibility:visible}.uk-notify-message-primary{background:#ebf7fd;color:#2d7091;border-color:rgba(45,112,145,.3)}.uk-notify-message-success{border-color:rgba(101,159,19,.3)}.uk-notify-message-warning{border-color:rgba(226,131,39,.3)}.uk-notify-message-danger{border-color:rgba(216,80,48,.3)}.uk-notify{z-index:1114;width:400px;top:56px}.uk-notify-bottom-center,.uk-notify-top-center{margin-left:-200px}.uk-notify-bottom-center,.uk-notify-bottom-left,.uk-notify-bottom-right{top:auto;bottom:8px}.uk-notify-message{background:#323232;border-radius:4px;padding:12px 16px;font-size:14px;line-height:18px;border:none}.uk-notify .uk-close{display:none}.uk-notify .notify-action{float:right;text-transform:uppercase;color:#8bc34a;margin-left:16px}.uk-notify .notify-action:hover{color:#689f38}.uk-notify .notify-content{overflow:hidden}.uk-notify-message-info{background:#1976d2;color:#fff}.uk-notify-message-success{background:#7cb342}.uk-notify-message-warning{background:#ffa000}.uk-notify-message-danger{background:#e53935}.uk-notify-message-danger,.uk-notify-message-danger .notify-action,.uk-notify-message-info,.uk-notify-message-info .notify-action,.uk-notify-message-success,.uk-notify-message-success .notify-action,.uk-notify-message-warning,.uk-notify-message-warning .notify-action{color:#fff}.uk-notify-message-danger .notify-action:hover,.uk-notify-message-info .notify-action:hover,.uk-notify-message-success .notify-action:hover,.uk-notify-message-warning .notify-action:hover{color:#fff;text-decoration:underline}@media only screen and (max-width:767px){.uk-notify-bottom-center,.uk-notify-bottom-left,.uk-notify-bottom-right,.uk-notify-top-center,.uk-notify-top-left,.uk-notify-top-right{width:100%;margin:0;left:0;right:0}.uk-notify-bottom-center>.uk-notify-message,.uk-notify-bottom-left>.uk-notify-message,.uk-notify-bottom-right>.uk-notify-message,.uk-notify-top-center>.uk-notify-message,.uk-notify-top-left>.uk-notify-message,.uk-notify-top-right>.uk-notify-message{border-radius:0;padding:16px 32px}.uk-notify-top-center,.uk-notify-top-left,.uk-notify-top-right{top:0;bottom:auto}.uk-notify-bottom-center,.uk-notify-bottom-left,.uk-notify-bottom-right{top:auto;bottom:-10px}}@media only screen and (min-width:960px){.sidebar_main_active .uk-notify-bottom-left,.sidebar_main_active .uk-notify-top-left,.sidebar_main_open .uk-notify-bottom-left,.sidebar_main_open .uk-notify-top-left{left:256px}.sidebar_main_active .uk-notify-bottom-center,.sidebar_main_active .uk-notify-top-center,.sidebar_main_open .uk-notify-bottom-center,.sidebar_main_open .uk-notify-top-center{margin-left:-80px}}.uk-slideshow{position:relative;z-index:0;width:100%;margin:0;padding:0;list-style:none;overflow:hidden;-ms-touch-action:pan-y;touch-action:pan-y}.uk-slideshow>li{position:absolute;top:0;left:0;width:100%;opacity:0}.uk-slideshow>.uk-active{z-index:10;opacity:1}.uk-slideshow>li>img{visibility:hidden}[data-uk-slideshow-slide]{cursor:pointer}.uk-slideshow-fullscreen,.uk-slideshow-fullscreen>li{height:100vh}.uk-slideshow-fade-in{-webkit-animation:uk-fade .5s linear;animation:uk-fade .5s linear}.uk-slideshow-fade-out{-webkit-animation:uk-fade .5s linear reverse;animation:uk-fade .5s linear reverse}.uk-slideshow-scroll-forward-in{-webkit-animation:uk-slide-right .5s ease-in-out;animation:uk-slide-right .5s ease-in-out}.uk-slideshow-scroll-forward-out{-webkit-animation:uk-slide-left .5s ease-in-out reverse;animation:uk-slide-left .5s ease-in-out reverse}.uk-slideshow-scroll-backward-in{-webkit-animation:uk-slide-left .5s ease-in-out;animation:uk-slide-left .5s ease-in-out}.uk-slideshow-scroll-backward-out{-webkit-animation:uk-slide-right .5s ease-in-out reverse;animation:uk-slide-right .5s ease-in-out reverse}.uk-slideshow-scale-out{-webkit-animation:uk-fade-scale-15 .5s ease-in-out reverse;animation:uk-fade-scale-15 .5s ease-in-out reverse}.uk-slideshow-swipe-forward-in{-webkit-animation:uk-slide-left-33 .5s ease-in-out;animation:uk-slide-left-33 .5s ease-in-out}.uk-slideshow-swipe-forward-out{-webkit-animation:uk-slide-left .5s ease-in-out reverse;animation:uk-slide-left .5s ease-in-out reverse}.uk-slideshow-swipe-backward-in{-webkit-animation:uk-slide-right-33 .5s ease-in-out;animation:uk-slide-right-33 .5s ease-in-out}.uk-slideshow-swipe-backward-out{-webkit-animation:uk-slide-right .5s ease-in-out reverse;animation:uk-slide-right .5s ease-in-out reverse}.uk-slideshow-swipe-backward-in:before,.uk-slideshow-swipe-forward-in:before{content:'';position:absolute;top:0;bottom:0;left:0;right:0;z-index:1;background:rgba(0,0,0,.6);-webkit-animation:uk-fade .5s ease-in-out reverse;animation:uk-fade .5s ease-in-out reverse}.uk-slidenav{display:inline-block;width:60px;height:60px;line-height:60px;color:rgba(50,50,50,.4);font-size:60px;text-align:center}.uk-tab>li>a,.uk-tooltip{font-size:13px;box-sizing:border-box}.uk-slidenav:focus,.uk-slidenav:hover{outline:0;text-decoration:none;color:rgba(50,50,50,.7);cursor:pointer}.uk-sortable .sortable-handler,.uk-sortable-handle:hover,.uk-sortable-moving,.uk-sortable-moving *,.uk-sortable.sortable-handler>*{cursor:move}.uk-slidenav:active{color:rgba(50,50,50,.9)}.uk-slidenav-previous:before{content:"\f104";font-family:FontAwesome}.uk-slidenav-next:before{content:"\f105";font-family:FontAwesome}.uk-slidenav-position{position:relative}.uk-slidenav-position .uk-slidenav{display:none;position:absolute;top:50%;z-index:1;margin-top:-30px}.uk-slidenav-position:hover .uk-slidenav{display:block}.uk-slidenav-position .uk-slidenav-previous{left:20px}.uk-slidenav-position .uk-slidenav-next{right:20px}.uk-slidenav-contrast{color:rgba(255,255,255,.5)}.uk-slidenav-contrast:focus,.uk-slidenav-contrast:hover{color:rgba(255,255,255,.7)}.uk-slidenav-contrast:active{color:rgba(255,255,255,.9)}.uk-tooltip{display:none;position:absolute;max-width:200px;border-radius:3px;background:#424242;color:#fff;padding:3px 16px;line-height:22px;text-shadow:none;min-width:80px;text-align:center;z-index:1114;opacity:0}.uk-tooltip:after{content:"";position:absolute;width:0;height:0;border:5px dashed #333}.uk-sortable,.uk-tab>li>a{position:relative}.uk-tooltip-top-left:after,.uk-tooltip-top-right:after,.uk-tooltip-top:after{bottom:-5px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent;border-top-color:#333}.uk-tooltip-bottom-left:after,.uk-tooltip-bottom-right:after,.uk-tooltip-bottom:after{top:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent;border-bottom-color:#333}.uk-tooltip-left:after,.uk-tooltip-right:after{top:50%;margin-top:-5px;border-top-color:transparent;border-bottom-color:transparent}.uk-tooltip-bottom:after,.uk-tooltip-top:after{left:50%;margin-left:-5px}.uk-tooltip-bottom-left:after,.uk-tooltip-top-left:after{left:10px}.uk-tooltip-bottom-right:after,.uk-tooltip-top-right:after{right:10px}.uk-tooltip-left:after{right:-5px;border-left-style:solid;border-right:none;border-left-color:#333}.uk-tooltip-right:after{left:-5px;border-right-style:solid;border-left:none;border-right-color:#333}.uk-tooltip .uk-tooltip-inner{display:inline-block;vertical-align:top;overflow:hidden;width:100%}.uk-tooltip:after{display:none!important}.uk-tooltip.long-text{text-align:left}.uk-tooltip.long-text .uk-tooltip-inner{white-space:normal;overflow:visible;line-height:18px;padding:4px 0}.uk-tooltip-small{-webkit-transform:scale(.85);transform:scale(.85)}.uk-tab{border-bottom-color:rgba(0,0,0,.12)}.uk-sticky-placeholder .uk-tab{background:#fff;padding-top:8px}.uk-tab>li{margin-bottom:0;margin-top:0;z-index:1}.uk-tab>li>a{text-transform:uppercase;color:#212121;border:none;border-bottom:2px solid transparent;border-radius:0!important;font-weight:500;min-width:100px;max-width:100%;text-align:center;-webkit-transition:all 220ms cubic-bezier(.4,0,.2,1);transition:all 220ms cubic-bezier(.4,0,.2,1);padding:8px!important;margin:0!important;top:1px}.uk-tab>li>a:focus,.uk-tab>li>a:hover{background:0 0;color:#212121;border-bottom-color:#b2dbfb}.uk-tab>li.uk-active>a{background:0 0!important;border-bottom-color:#2196f3}.uk-tab-bottom li>a,.uk-tab-left,.uk-tab-right{border-bottom:none}.uk-tab>li.uk-disabled>a,.uk-tab>li.uk-disabled>a:focus,.uk-tab>li.uk-disabled>a:hover{color:#aaa}.uk-tab-bottom li{margin-top:0}.uk-tab-bottom li>a{border-top:2px solid transparent;top:auto;bottom:1px}.uk-tab-left li>a,.uk-tab-right li>a{border-bottom:none;top:auto;bottom:auto}.uk-tab-bottom li>a:focus,.uk-tab-bottom li>a:hover{border-top-color:#b2dbfb}.uk-tab-bottom li.uk-active>a{border-top-color:#2196f3}.uk-tab-left li>a{border-right:2px solid transparent;text-align:right}.uk-tab-left li>a:focus,.uk-tab-left li>a:hover{border-right-color:#b2dbfb}.uk-tab-left li.uk-active>a{border-right-color:#2196f3}.uk-tab-right li>a{border-left:2px solid transparent;text-align:left}.uk-tab-right li>a:focus,.uk-tab-right li>a:hover{border-left-color:#b2dbfb}.uk-tab-right li.uk-active>a{border-left-color:#2196f3}.uk-tab-responsive li a{border:none!important}.uk-tab-responsive>a:before{content:'\e5d2';font-family:"Material Icons";color:#727272;margin-right:8px;vertical-align:-4px;font-size:18px}.uk-tab-icons>li>a{min-width:64px}.uk-tab-icons>li>a>.material-icons{font-size:24px}.uk-text-truncate{display:block}.uk-sortable>:last-child{margin-bottom:0}.uk-sortable-dragged{position:absolute;z-index:1050;pointer-events:none}.uk-sortable-placeholder{opacity:0}.uk-sortable-handle{-ms-touch-action:none;touch-action:none}.uk-sortable>*{-ms-touch-action:auto;touch-action:auto}.uk-switcher{overflow:hidden}@media (min-width:1480px){.uk-grid-width-xLarge-1-1>*,.uk-width-xLarge-1-1{width:100%}.uk-grid-width-xLarge-1-2>*,.uk-grid-width-xLarge-2-4>*,.uk-grid-width-xLarge-3-6>*,.uk-grid-width-xLarge-5-10>*,.uk-width-xLarge-1-2,.uk-width-xLarge-2-4,.uk-width-xLarge-3-6,.uk-width-xLarge-5-10{width:50%}.uk-grid-width-xLarge-1-3>*,.uk-grid-width-xLarge-2-6>*,.uk-width-xLarge-1-3,.uk-width-xLarge-2-6{width:33.333%}.uk-grid-width-xLarge-2-3>*,.uk-grid-width-xLarge-4-6>*,.uk-width-xLarge-2-3,.uk-width-xLarge-4-6{width:66.666%}.uk-grid-width-xLarge-1-4>*,.uk-width-xLarge-1-4{width:25%}.uk-grid-width-xLarge-3-4>*,.uk-width-xLarge-3-4{width:75%}.uk-grid-width-xLarge-1-5>*,.uk-grid-width-xLarge-2-10>*,.uk-width-xLarge-1-5,.uk-width-xLarge-2-10{width:20%}.uk-grid-width-xLarge-2-5>*,.uk-grid-width-xLarge-4-10>*,.uk-width-xLarge-2-5,.uk-width-xLarge-4-10{width:40%}.uk-grid-width-xLarge-3-5>*,.uk-grid-width-xLarge-6-10>*,.uk-width-xLarge-3-5,.uk-width-xLarge-6-10{width:60%}.uk-grid-width-xLarge-4-5>*,.uk-grid-width-xLarge-8-10>*,.uk-width-xLarge-4-5,.uk-width-xLarge-8-10{width:80%}.uk-grid-width-xLarge-1-6>*,.uk-width-xLarge-1-6{width:16.666%}.uk-grid-width-xLarge-5-6>*,.uk-width-xLarge-5-6{width:83.333%}.uk-grid-width-xLarge-1-10>*,.uk-width-xLarge-1-10{width:10%}.uk-grid-width-xLarge-3-10>*,.uk-width-xLarge-3-10{width:30%}.uk-grid-width-xLarge-7-10>*,.uk-width-xLarge-7-10{width:70%}.uk-grid-width-xLarge-9-10>*,.uk-width-xLarge-9-10{width:90%}}.lte-ie9 [class*=uk-animation-]{opacity:1!important}.snackbar-container{transition:all .5s ease;transition-property:top,right,bottom,left,opacity;font-family:Roboto,sans-serif;font-size:14px;min-height:14px;background-color:#070b0e;position:fixed;display:block;justify-content:space-between;align-items:center;color:#fff;line-height:22px;padding:18px 24px;bottom:0;top:0;opacity:0;z-index:9999}.snackbar-container .action{background:inherit;display:inline-block;border:none;font-size:inherit;text-transform:uppercase;color:#4caf50;margin:0 0 0 24px;padding:0;min-width:min-content;cursor:pointer}input.error,input.valid,select.error,select.valid{background-position:right 5px center;background-repeat:no-repeat}@media (min-width:640px){.snackbar-container{min-width:288px;max-width:568px;display:inline-flex;border-radius:2px;margin:24px;bottom:-100px}}@media (max-width:640px){.snackbar-container{left:0;right:0}}.snackbar-pos.bottom-center{top:auto!important;bottom:0;left:50%;transform:translate(-50%,-50%)}.snackbar-pos.bottom-left{top:auto!important;bottom:0;left:0}.snackbar-pos.bottom-right{top:auto!important;bottom:0;right:0}.snackbar-pos.top-left{bottom:auto!important;top:0;left:0}.snackbar-pos.top-center{bottom:auto!important;top:0;left:50%;transform:translate(-50%,-50%)}.snackbar-pos.top-right{bottom:auto!important;top:0;right:0}.c3 svg{font:10px sans-serif;-webkit-tap-highlight-color:transparent}.c3 line,.c3 path{fill:none;stroke:#000}.c3 text{-webkit-user-select:none;-moz-user-select:none;user-select:none}.c3-bars path,.c3-event-rect,.c3-legend-item-tile,.c3-xgrid-focus,.c3-ygrid{shape-rendering:crispEdges}.c3-chart-arc path{stroke:#fff}.c3-chart-arc text{fill:#fff;font-size:13px}.c3-grid line{stroke:#aaa}.c3-grid text{fill:#aaa}.c3-xgrid,.c3-ygrid{stroke-dasharray:3 3}.c3-text.c3-empty{fill:grey;font-size:2em}.c3-line{stroke-width:1px}.c3-circle._expanded_{stroke-width:1px;stroke:#fff}.c3-selected-circle{fill:#fff;stroke-width:2px}.c3-bar{stroke-width:0}.c3-bar._expanded_{fill-opacity:.75}.c3-target.c3-focused{opacity:1}.c3-target.c3-focused path.c3-line,.c3-target.c3-focused path.c3-step{stroke-width:2px}.c3-target.c3-defocused{opacity:.3!important}.c3-region{fill:#4682b4;fill-opacity:.1}.c3-brush .extent{fill-opacity:.1}.c3-legend-item{font-size:12px}.c3-legend-item-hidden{opacity:.15}.c3-legend-background{opacity:.75;fill:#fff;stroke:#d3d3d3;stroke-width:1}.c3-title{font:14px sans-serif}.c3-tooltip-container{z-index:10}.c3-tooltip{border-collapse:collapse;border-spacing:0;background-color:#fff;empty-cells:show;-webkit-box-shadow:7px 7px 12px -9px #777;-moz-box-shadow:7px 7px 12px -9px #777;box-shadow:7px 7px 12px -9px #777;opacity:.9}.c3-tooltip tr{border:1px solid #CCC}.c3-tooltip th{background-color:#aaa;font-size:14px;padding:2px 5px;text-align:left;color:#FFF}.c3-tooltip td{font-size:13px;padding:3px 6px;background-color:#fff;border-left:1px dotted #999}.c3-tooltip td>span{display:inline-block;width:10px;height:10px;margin-right:6px}.c3-tooltip td.value{text-align:right}.c3-area{stroke-width:0;opacity:.2}.c3-chart-arcs-title{dominant-baseline:middle;font-size:1.3em}.c3-chart-arcs .c3-chart-arcs-background{fill:#e0e0e0;stroke:none}.c3-chart-arcs .c3-chart-arcs-gauge-unit{fill:#000;font-size:16px}.c3-chart-arcs .c3-chart-arcs-gauge-max,.c3-chart-arcs .c3-chart-arcs-gauge-min{fill:#777}.c3-chart-arc .c3-gauge-value{fill:#000}input.error,select.error{border-color:#b94a48;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAARCAYAAAA/mJfHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAYSmlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjarVllVBV/t94TJ6hDdx26pLu7QboVOHRzODQYoIAICmKggoKCiogKBiklJqKIKKhYhIgoKgaKinI/gP7f9733frhr3d+HWc888+y9n73XrJk18wMQFqDR6XEoB0B8QgrD3daC6uvnTyW9ABSEgAJrQJUWmkw3d3V1gv95IQBfRwEBALivTKPT4+D/tjjDwpNDARBXAAgJSw6NB0AuAuBCoXRGCgBhCACk0lPoKQCELwDAw/D18wcgkgGAJ3IFiwAAT8gKVgMAHoanuyUA0QqAzEqjMSIBKK4AQE0LjUwBoNABiFwJYdEJADx5AEST0ChaGIDQVQBYEx+fGAYgNA8A8iH/kify33KG/M1Jo0X+xSu9AAAA2So6mR5Hy4T/7xUfl/qnhiQAsEYx7NwBgAcAORmb6OgOAKwASGdCyFoXAOACQG5GhwGs4rGoVDuvVf1caLKlPwDwAaAQRrNyBAARAJQvNdbLfBVr0BgAK3p0bXSKvecqDmEkuq/mR9PCk609/uCocHun1ZyFCXFr/+CqiGgbewDgAEAvZkV5+qz4RK+mRXuvBQAKADqUHOvhuKp/nhVlufaPhpHq7gUA0gDolwiGjfuKBhOIT/7TF6YSSrP2AAABAMwsJcrTbiUW8w1P9nX64y0s3Mp6xQMWFp7gteoZS6GnWLivxhbQ41xX9VhVeJyt+8qcsabkNI8/scMpDM/VmWOTMTQH1xX/2Fd6iqvnijccByewBCugQipQIQQSIQaiB+da54C6esUGaMCASAgH5VXmT4QP0IABCUADD8iCd5AA4ZD8N84CaMCAcEiDBPj1l105KkME0IABaRAOyRALr4AB8bgQboIb4k64CW6Gm+AauB6u/yeOyv6nKtGaaEW0I9oQFf76CIVEiINEYED0f+f+iSS8ItwjTBJGCOOEx+AIcRAOqcCAcEj425k3vAQGRP85D4rewvgP51RwhnFIXZ1KOIRAAsz+0eCyuAaujVvgxrgJrg9UnA8XAmVcC9fDzXFT3BDXxvX/zWHqXxf/zPI/64VDwr/1uMpTFCnaqy5C/vq3/Kv6zyyW/zKjMEgEx/9UYoXYBewGdhnrxzqxVqBiPVgbdhvrwlr/5U54CQyI/FvNHcIhAWIhDqL/aNQa1GbVlv5bddqqAwaEQzJASnhGCgCAZSI9kxEdGZVCNafT48Kp9gmhKmuoGmrq2gC+fv7UlcfHZ3dAAADhu/sPl6gOoB8KgGz9hwt+D9AaA0Dm+oeTbQVg1wDo3x+aykhb4XAAAAIwAzvwgCCIgRTIgzJogA4YghlYgwO4gCf4QSCEQhTEAwPSYQPkQgEUwy7YBxVQDbVwEs7AeWiFTrgM12EAhmAEnsA4TMNbmIev8BNBEBLChnAjgog4IoMoIRqIHmKCWCNOiDvihwQjkUgCkopsQLYixchupAI5itQj55B25DLSj9xDHiMTyCzyCfmBYigryoOKorKoKqqHmqOOqCe6Ho1Ek9AsNA8tQQ+gNehptAW9jA6gI+g4+hZdwABjwfgwCUwZ08MsMRfMH4vAGNgmrAgrx2qws1gHdgO7j41jc9h3nIhz41RcGTfE7XAvPBRPwjfhO/AK/CTegl/F7+MT+Dz+m8BGECEoEQwI9gRfQiQhnVBAKCecIDQTrhFGCNOEr0QikY8oR9Ql2hH9iDHEbOIO4mFiI7GXeI84RVwgkUiCJCWSMcmFRCOlkApIB0mnST2kYdI0aZHMQhYna5BtyP7kBPIWcjn5FLmbPEyeIf9k4mCSYTJgcmEKY8pkKmU6xtTBdJdpmuknMyezHLMxsydzDHMu8wHms8zXmJ8yf2ZhYZFk0WdxY4lmyWE5wNLEcpNlguU7KxerIqsl6zrWVNYS1jrWXtbHrJ/Z2Nhk2czY/NlS2ErY6tmusD1nW6RwU1Qo9pQwymZKJaWFMkx5z87ELsNuzh7InsVezn6B/S77HAcThyyHJQeNYxNHJUc7x0OOBU5uTnVOF854zh2cpzj7OV9zkbhkuay5wrjyuGq5rnBNcWPcUtyW3KHcW7mPcV/jnuYh8sjx2PPE8BTznOEZ5Jnn5eLV4vXmzeCt5O3iHefD+GT57Pni+Er5zvON8v3gF+U35w/n385/ln+Y/5uAsICZQLhAkUCjwIjAD0GqoLVgrGCZYKvgMyFcSFHITShdqEromtCcMI+woXCocJHweeExEVREUcRdJFukVuS2yIKomKitKF30oOgV0TkxPjEzsRixvWLdYrPi3OIm4tHie8V7xN9Qeanm1DjqAepV6ryEiISdRKrEUYlBiZ+ScpJeklskGyWfSTFL6UlFSO2V6pOalxaXdpbeIN0gPSbDJKMnEyWzX+aGzDdZOVkf2W2yrbKv5QTk7OWy5BrknsqzyZvKJ8nXyD9QICroKcQqHFYYUkQVtRWjFCsV7yqhSjpK0UqHle6tIazRX5OwpmbNQ2VWZXPlNOUG5QkVPhUnlS0qrSrvVaVV/VXLVG+o/lbTVotTO6b2RJ1L3UF9i3qH+icNRY1QjUqNB5psmjaamzXbND9qKWmFa1VpPdLm1nbW3qbdp/1LR1eHoXNWZ1ZXWjdY95DuQz0ePVe9HXo39Qn6Fvqb9Tv1vxvoGKQYnDf4YKhsGGt4yvC1kZxRuNExoyljSWOa8VHjcROqSbDJEZNxUwlTmmmN6aSZlFmY2QmzGXMF8xjz0+bvLdQsGBbNFt8sDSw3WvZaYVa2VkVWg9Zc1l7WFdbPbSRtIm0abOZttW2zbXvtCHaOdmV2D+1F7UPt6+3nHXQdNjpcdWR19HCscJx0UnRiOHU4o84Oznucn66VWZuwttUFXOxd9rg8c5VzTXK95EZ0c3WrdHvlru6+wf2GB7dHkMcpj6+eFp6lnk+85L1Svfq82b3Xedd7f/Ox8tntM+6r6rvRd8BPyC/ar82f5O/tf8J/IcA6YF/A9DrtdQXrRtfLrc9Y3x8oFBgX2BXEHkQLuhBMCPYJPhW8RHOh1dAWQuxDDoXMh1qG7g99G2YWtjdsNtw4fHf4TIRxxO6I15HGkXsiZ6NMo8qj5qItoyuiP8bYxVTHfIt1ia2LXY7ziWuMJ8cHx7cncCXEJlxNFEvMSLxHV6IX0MeTDJL2Jc0zHBknkpHk9cltKTwp9JTbqfKp+akTaSZplWmL6d7pFzI4MxIybmcqZm7PnMmyyTqejWeHZvdtkNiQu2Fio/nGo5uQTSGb+jZLbc7bPJ1jm3Mylzk3NvfOFrUtu7d82eqztSNPNC8nbyrfNr+hgFLAKHi4zXBbdSFeGF04uF1z+8Htv4vCim4VqxWXFy/tCN1xa6f6zgM7l0siSgZLdUqrdhF3JewaLTMtO7mbc3fW7qk9znta9lL3Fu39si9oX3+5Vnn1fub9qfvHDzgdaDsofXDXwaWKqIqRSovKxkMih7Yf+nY47PBwlVnV2WrR6uLqH0eijzw6anu0pUa2pryWWJtW++qY97Ebx/WO158QOlF84lddQt34SfeTV+t16+tPiZwqbUAbUhtmT687PXTG6kzbWeWzRxv5GouboCm16c254HOj5x3P913Qu3D2oszFQ83czUUtSEtmy3xrVOt4m1/bvXaH9r4Ow47mSyqX6jolOiu7eLtKu5m787qXe7J6FnrpvXOXIy9P9QX1Pbnie+XBVberg9ccr928bnP9yg3zGz03jW929hv0t9/Su9U6oDPQclv7dvMd7TvNgzqDLXd177YN6Q913DO61z1sOnz5vtX96w/sHwyMrB25N+o1+ujhuofjj8IevX4c9/jjWNrYzyc5TwlPi55xPCt/LvK85oXCi8ZxnfGuCauJ25Mek0+mQqfevkx+uTSd94rtVfmM+Ez9a43XnbM2s0NvAt5Mv6W//TlX8I7z3aH38u8vfjD7cHved376I+Pj8qcdnwU/133R+tK34Lrw/Gv815/fihYFF09+1/t+44fPj5mf6UukpQO/FH51/Hb8/XQ5fnmZTmPQAAAAAwA0IgLgUx0Amx8A9xAAM2Xl+2t1YQgACgAkEAMHKIYpRBFJQHpRQTQFHcPssSu4Lf6AEE/kJPaRNpBNmEhMz5jbWQ6xlrLVUZ5ycHA6cm3n7ufl5FvHf1oQF6IJd4lSxXaIL0qESY5Jr5Xpl1OVL1F4q2S/plr5q6ql2k71IU02LQvtZJ1Dur164/q/DPmNlIz1TaxN3c1CzZMt8iz3WzVY99jct521W3bgdVzjZOkcsDbaJc013223e7VHg2erV5/3gM+w72O/F/5TAa/XvVv/OvBp0GBwD60xpCp0Z1hWeESEW6RhlHQ0JfprzIvY63H18TsT6IkedN0koaQlxvPk3pTa1Py0iHT7DKVM5sw3WbezmzYc2Ji3KX1zUg4jN2tL0dajeV35L7YxFRptpxfVFo/uZC4xKo3fVVU2uPvX3jX7AsqL9rccGK9gqdQ+FHR4e9X56idH8RrlWu9jm4+fPHGvbrGeesqpYcPp82c+Nho0lZ77cCHg4t0Wl9YH7UYdKZfqO592s/Ro9npfTurLv1J2tfxa+fWyG4U3t/Zvu7VzYOft/Dspgz53Ve7+HOq9lz2sM/z1/sMH7SMVoxsfBj2yeCwzxjT27sm9p83PKp5vfBE8bjWhMMkx+X3q1cvR6f5Xl2cuvW6fbX9z/G3JXNq7wPfWH5TmOeYXPo596v589Ev+QtRXx2+qi9yL374//dH7s2Yp71f4b6tlyeVlACCCEJhBBlxDuBEnZBfyAtVES9DPWBA2invhzwh0IoXYSgonC5HHmA4xR7JYsBqzeVKi2HM4jnBe5prl4eW14svkbxT4IKQizBDpFGMR96aekliWMpfOlemRXZLXVYhRPKw0sOaTCq+qppqdeoBGpGaSVqb2Rp0s3Ri9AH0nA2NDNSNJY14TsskP03dmE+YjFrcsu60uWNfZHLAttEu3j3Lwc7Rz0nOWW8vrgrt8cZ10u+fe69HkWeVV6J3sE+hr76fpLxpADHi/bnR9V2BtUFFwIs0zRCuUNXQyrD28NCIi0iiKM+pV9KWYstjwOIN49viphNbEQrpfklLSEmMw+UgKI9UyjTdtJr09Y0dmYJZaNpr9cEPjxuJN8Zu9cqxyDbbobzXOs8v3LUjYtq3w+PYrRRPFv3eKlOiXeu9KLtu1+/Se/r2vytH9Igd0DrpVxFcWHzp9eKjq6xHJo641W2vbj308oVKXdPJi/bcG/dMbznQ3QpP5ua3nr10kNNu2FLbeaCd1WF/a0tnV9aVHttfjcnZf1ZVLV0euzV7/dhPv574lMaB62/iO06D/3aih9HsFw/vu1zxoHOkc7X84+mj68Zcn2FOeZzLP9V44jUdO1E7OvpSb9n9VMHPq9Y3ZiTeLc5R3Mu9NPwTM53wc+qz5Zc/C52/uixd/CPzMX1r8nb68DAA4cIIirIUc6EVIiAGSgrSiKOqMHkF/YoHYLdwIbyHoEfqIrsQpUjZZmHyDaSdzKIsRqzDrb7ZJygB7M8dxzgNcJdyFPPm8BXzF/HsEqgUbhNqEu0S6RLvFesS7qZckmiUbpA5LF8ukyq6TM5OXVACFJ4qtSsVrvJWpym9UmlVz1BzV+dQnNBo0U7VMtZm07+sc1o3S09Jb1O82yDd0NOIyGjOuMYkx1TBdMrtuXmax3lLR8pvVFetSmwBbOdtPdt32RQ7ejhKOb51anHPWOrnwuUy4Nrgluxt6oB63PHd7+XtTvWd8zvqm+hn6o/79AaXrPNbzrX8cWBm0Plg0+BntcMj6UJHQsbAD4d4R3BF3I4ujrKMh+lJMWqx67FxcXXxIgkjCw8Q99LVJ5KTLjKxkzeS5lOOpgWn8aXfTt2WYZixmNmVFZ1OzH2/Yu9Fzk+Cm6c1tOXtzM7dEbF2X55cfUBC+LbUwf3t50Ynilh3Xd46UTJd+KcN2c++R3Ku2z6Dccr/DAbeDfhUhlYmHNh/eU3W6euDIhxqZ2sxjQyfk6jadHD2l3JB3+slZ9cbCpufndS4UX3zRotm6re1ph+alos7JbqOeA71f+zyvNF+Tu37spnL/tYHYO9KDc0M3hs89qB9tenR57NkzeKE2UfeyYKboTet79o+FCwKLzUs+y8sAK//hAACIOgDHpwC8jwK4BQDUKQHIVAJQeABc2QA89QG1KAXk8UFAbM/+fX+wgRzYQARsg5PQD28RCqKOeCFZyGGkE3mCLKGiqCkaghagp9C76BdMGDPHorBdWDs2ibPg2ngwvgNvw18SuAimhATCUcIIkZloTswgnifOkeRJkaQ60ixZhZxK7mFiYfJnOs2MMPsyn2ehsCSwDLPqsR5hI7Mx2J5THCjt7PLsFRxsHLkc3zgTOV9zhXK94A7hnuGJ5/nKm8tH4TvMr8p/RSBAYEGwTEhd6L5wuoioyJDoNjELcRC/TM2XcJYUlHwtdUm6TCZG1kZORp5VfkFhUnFY6eqaDuULKk2qjWrn1ds0ejUHtJ5rf9TF9Xj1pQyUDdWN1IwVTaimXGao2QfzJxY9ljVWhdaJNr62Fnaq9mIO7I6Y46LTvPObtdMuk64Tbi/d33p89vzlzeTD7yvnp+/vHBC6Lnv9vsCmoMHgdyGUUM0wv/DNEbWR16Kmon/FcsVJxCsmqCQq0xWSJBl8yUzJP1Jm04TSnTPyMnuyfm+w3rhn09sc59xLW7Xy2gvst01t31YsseNsiVnpeFnZHt99xvvtD6ZXXqsSPkKpQWu/H/9U975+rmHuzIfGhXO/LpJbhNtUO6w6/bqje9P6Nl3Nub7xZtqtuNvBg8VDbcNvRiQern9c/eTVc/Xx3MmRaaWZwtmZOdv3pz5yfM5eeLcY8WPmF315GQDYQQXcIBUqoAdeIiyIBhKA5CH1yADyAeVBDdBgtBBtQh9jGKaM+WH52DnsBc6GG+GxeCV+B/9NUCeEEQ4RRojsRCfiduJNEjPJmbSbNEaWITPIfUx8THFM15mlmLcwT7M4sHSwKrFWs/Gy7aAQKVvYgT2XA+Mo5KRw7ueS5GrkNuMe4YnnJfLW8JnzTfIXCCgLjArmCqkJjQvvEbETxUX7xLaK21BZqaMSNZLJUjbSYtKLMqOyrXJH5PcrlCmWKJWs2a1coXJCtVntpvpzjW9avNoGOqG6JXpd+h8MZYyCjCtNnpiJmYdZNFr+tLa2KbYdsCc46DqGOBU4n1h72WXMdd4d9+DzVPQy8/bzSfYt9TvrPxjwcT1foHFQRHAZrTvkfZhUuG9EaeT1qF8xWrHRcVXx9xJRukZSMKMk+VLK6zT2dN2M4MzirLbsmY38m+w3b8w5n/tmq1Te+vyKgkeF/Nv9iqqKX+5ULskovV4msDtxz+19auWVBygHt1eyHtpXJVd942h0Leux8yf8T+L1TQ1BZzjOXmnKOK964XVzXWt0u3LHp86O7i29Tn38V6auNd3Y0O8wIHh7aNDr7tS9rPtiDwZHix95jMk+RZ5Nvrg+0TBVOs2Y8ZgVflM9J/fu3AeT+cFPQZ8/LOR8Y188+EPsZ/Uvod+ly8sAwA/mQIdquAvLiAYSgRxEriGfUUnUHc1DW9E5TALzxXZh/TiGm+BZeCu+QNAmpBG6iASiC7GS+IZkSNpFek22Ih9jIjPRmZ4yOzH3suiydLBasN5m82N7Q9nEzsvexOHC8ZGznMuEa5b7MI8HLxvvLb7t/E4CXAJjgseFGMLmItwib0Wvix0TL6DGSnhKmktpSMvJiMsKywnJUxWUFPWVHNfQlDeoVKh2qb3UoGgaaTG0z+p80NPWzzUYNpI3zjN5ZeZk3mqpZHXMRsK21l7BodnJyvmRC92N1b3JM8CbyafLLy1Aa91iYG/wzpDAMJ0I1sjH0RWx9nGzCZmJS0kpjOkU19QL6ZwZjMwH2QYbjm5i2ZyRM7PFd+vtfIuCjkKt7S3Fxjv6S/xK35Zt2sO5t6ZcdX/7QZOKnkNGh1uqCUecju6reXFM8Xj6iWsneesjTnWcppwJO9vZxHuOfn7gonxzUcu7Nrf21ktinQVd73t8ei/3KV3Zd3X5esyNB/1mtxpu891JHrw1JHwvavj0/TcjUqM+D7c8Ovn41tj0k6VnHM/FXyiNa08YTJpMmb00mzZ5ZTCj+1p9VvGN5FvK29m59nfp77Xfz304Pu/3kflj56eIzxyf276sW4CFmq8WXye/bV4UWWz/7vV9/seOn3I/+5YClxZ/7fmt+rt/OWx5GSA5QlNjZSeK1QKA8Hx5+bMsAGk3wK+y5eWfNcvLv2oBsKcAvXErezsAAEQOgEO1/9sey38BOi/O6KPLSP4AADwwaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzAxNCA3OS4xNTY3OTcsIDIwMTQvMDgvMjAtMDk6NTM6MDIgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICAgICAgICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChNYWNpbnRvc2gpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE1LTA1LTE1VDEwOjM4OjU1KzAyOjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNS0wNS0xNVQxMDozODo1NSswMjowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTUtMDUtMTVUMTA6Mzg6NTUrMDI6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjU4ZmM5Yzg4LWFiYWUtNGEzMC1iNGUxLTUyMTQyZWYzMzM4NDwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjM4YmMxOTAwLTNiNmMtMTE3OC05ZDQ5LWY0MzVhZTM4NTFiMTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmQ1ZjJhY2QyLTQ2ZDUtNGVlZS05NDllLThkMDI0MTljZjA3ODwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpkNWYyYWNkMi00NmQ1LTRlZWUtOTQ5ZS04ZDAyNDE5Y2YwNzg8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTUtMDUtMTVUMTA6Mzg6NTUrMDI6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChNYWNpbnRvc2gpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo1OGZjOWM4OC1hYmFlLTRhMzAtYjRlMS01MjE0MmVmMzMzODQ8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTUtMDUtMTVUMTA6Mzg6NTUrMDI6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChNYWNpbnRvc2gpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6U2VxPgogICAgICAgICA8L3htcE1NOkhpc3Rvcnk+CiAgICAgICAgIDxwaG90b3Nob3A6VGV4dExheWVycz4KICAgICAgICAgICAgPHJkZjpCYWc+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8cGhvdG9zaG9wOkxheWVyTmFtZT7DlzwvcGhvdG9zaG9wOkxheWVyTmFtZT4KICAgICAgICAgICAgICAgICAgPHBob3Rvc2hvcDpMYXllclRleHQ+w5c8L3Bob3Rvc2hvcDpMYXllclRleHQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHBob3Rvc2hvcDpMYXllck5hbWU+YTwvcGhvdG9zaG9wOkxheWVyTmFtZT4KICAgICAgICAgICAgICAgICAgPHBob3Rvc2hvcDpMYXllclRleHQ+YTwvcGhvdG9zaG9wOkxheWVyVGV4dD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOkJhZz4KICAgICAgICAgPC9waG90b3Nob3A6VGV4dExheWVycz4KICAgICAgICAgPHBob3Rvc2hvcDpDb2xvck1vZGU+MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHBob3Rvc2hvcDpJQ0NQcm9maWxlPkRpc3BsYXk8L3Bob3Rvc2hvcDpJQ0NQcm9maWxlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MTk8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MTc8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/Pmkb7KYAAAAgY0hSTQAAbZgAAHOOAAD6zAAAhPoAAHmBAAD9EwAAMG0AABIpDR4mTgAAAOZJREFUeNrMlL0NwyAQhZ+jLJAVkE4M4BVMR50RvIIzAivYI6S+zh4hHgAhZYWM4DTnCCFsoshFnkQBB9/9impZFhylEw5UFsaaatbUbj1iTR1ruhRhrKkGMALoWVOXsY8AHIAHa1KlyO4AVq+ONbkE1MhWAejjh+cMbBDPqzqJQAGoM3c/qnLdlPRcod7G+jAVYQJs0zT2QKXRmADMufMcaC9NJR1VW46sD6YI2wC9og7HkV+tD6/SaKQgIytWk9Y0B5tTkPVhljqZnbubNevFs7E+PBNbI9HfrA/DV6Pxn7/Gr3oPAAwLXEdIhTGuAAAAAElFTkSuQmCC);-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}input.valid,select.valid{border-color:#468847;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAARCAYAAAA/mJfHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAYSmlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjarVllVBV/t94TJ6hDdx26pLu7QboVOHRzODQYoIAICmKggoKCiogKBiklJqKIKKhYhIgoKgaKinI/gP7f9733frhr3d+HWc888+y9n73XrJk18wMQFqDR6XEoB0B8QgrD3daC6uvnTyW9ABSEgAJrQJUWmkw3d3V1gv95IQBfRwEBALivTKPT4+D/tjjDwpNDARBXAAgJSw6NB0AuAuBCoXRGCgBhCACk0lPoKQCELwDAw/D18wcgkgGAJ3IFiwAAT8gKVgMAHoanuyUA0QqAzEqjMSIBKK4AQE0LjUwBoNABiFwJYdEJADx5AEST0ChaGIDQVQBYEx+fGAYgNA8A8iH/kify33KG/M1Jo0X+xSu9AAAA2So6mR5Hy4T/7xUfl/qnhiQAsEYx7NwBgAcAORmb6OgOAKwASGdCyFoXAOACQG5GhwGs4rGoVDuvVf1caLKlPwDwAaAQRrNyBAARAJQvNdbLfBVr0BgAK3p0bXSKvecqDmEkuq/mR9PCk609/uCocHun1ZyFCXFr/+CqiGgbewDgAEAvZkV5+qz4RK+mRXuvBQAKADqUHOvhuKp/nhVlufaPhpHq7gUA0gDolwiGjfuKBhOIT/7TF6YSSrP2AAABAMwsJcrTbiUW8w1P9nX64y0s3Mp6xQMWFp7gteoZS6GnWLivxhbQ41xX9VhVeJyt+8qcsabkNI8/scMpDM/VmWOTMTQH1xX/2Fd6iqvnijccByewBCugQipQIQQSIQaiB+da54C6esUGaMCASAgH5VXmT4QP0IABCUADD8iCd5AA4ZD8N84CaMCAcEiDBPj1l105KkME0IABaRAOyRALr4AB8bgQboIb4k64CW6Gm+AauB6u/yeOyv6nKtGaaEW0I9oQFf76CIVEiINEYED0f+f+iSS8ItwjTBJGCOOEx+AIcRAOqcCAcEj425k3vAQGRP85D4rewvgP51RwhnFIXZ1KOIRAAsz+0eCyuAaujVvgxrgJrg9UnA8XAmVcC9fDzXFT3BDXxvX/zWHqXxf/zPI/64VDwr/1uMpTFCnaqy5C/vq3/Kv6zyyW/zKjMEgEx/9UYoXYBewGdhnrxzqxVqBiPVgbdhvrwlr/5U54CQyI/FvNHcIhAWIhDqL/aNQa1GbVlv5bddqqAwaEQzJASnhGCgCAZSI9kxEdGZVCNafT48Kp9gmhKmuoGmrq2gC+fv7UlcfHZ3dAAADhu/sPl6gOoB8KgGz9hwt+D9AaA0Dm+oeTbQVg1wDo3x+aykhb4XAAAAIwAzvwgCCIgRTIgzJogA4YghlYgwO4gCf4QSCEQhTEAwPSYQPkQgEUwy7YBxVQDbVwEs7AeWiFTrgM12EAhmAEnsA4TMNbmIev8BNBEBLChnAjgog4IoMoIRqIHmKCWCNOiDvihwQjkUgCkopsQLYixchupAI5itQj55B25DLSj9xDHiMTyCzyCfmBYigryoOKorKoKqqHmqOOqCe6Ho1Ek9AsNA8tQQ+gNehptAW9jA6gI+g4+hZdwABjwfgwCUwZ08MsMRfMH4vAGNgmrAgrx2qws1gHdgO7j41jc9h3nIhz41RcGTfE7XAvPBRPwjfhO/AK/CTegl/F7+MT+Dz+m8BGECEoEQwI9gRfQiQhnVBAKCecIDQTrhFGCNOEr0QikY8oR9Ql2hH9iDHEbOIO4mFiI7GXeI84RVwgkUiCJCWSMcmFRCOlkApIB0mnST2kYdI0aZHMQhYna5BtyP7kBPIWcjn5FLmbPEyeIf9k4mCSYTJgcmEKY8pkKmU6xtTBdJdpmuknMyezHLMxsydzDHMu8wHms8zXmJ8yf2ZhYZFk0WdxY4lmyWE5wNLEcpNlguU7KxerIqsl6zrWVNYS1jrWXtbHrJ/Z2Nhk2czY/NlS2ErY6tmusD1nW6RwU1Qo9pQwymZKJaWFMkx5z87ELsNuzh7InsVezn6B/S77HAcThyyHJQeNYxNHJUc7x0OOBU5uTnVOF854zh2cpzj7OV9zkbhkuay5wrjyuGq5rnBNcWPcUtyW3KHcW7mPcV/jnuYh8sjx2PPE8BTznOEZ5Jnn5eLV4vXmzeCt5O3iHefD+GT57Pni+Er5zvON8v3gF+U35w/n385/ln+Y/5uAsICZQLhAkUCjwIjAD0GqoLVgrGCZYKvgMyFcSFHITShdqEromtCcMI+woXCocJHweeExEVREUcRdJFukVuS2yIKomKitKF30oOgV0TkxPjEzsRixvWLdYrPi3OIm4tHie8V7xN9Qeanm1DjqAepV6ryEiISdRKrEUYlBiZ+ScpJeklskGyWfSTFL6UlFSO2V6pOalxaXdpbeIN0gPSbDJKMnEyWzX+aGzDdZOVkf2W2yrbKv5QTk7OWy5BrknsqzyZvKJ8nXyD9QICroKcQqHFYYUkQVtRWjFCsV7yqhSjpK0UqHle6tIazRX5OwpmbNQ2VWZXPlNOUG5QkVPhUnlS0qrSrvVaVV/VXLVG+o/lbTVotTO6b2RJ1L3UF9i3qH+icNRY1QjUqNB5psmjaamzXbND9qKWmFa1VpPdLm1nbW3qbdp/1LR1eHoXNWZ1ZXWjdY95DuQz0ePVe9HXo39Qn6Fvqb9Tv1vxvoGKQYnDf4YKhsGGt4yvC1kZxRuNExoyljSWOa8VHjcROqSbDJEZNxUwlTmmmN6aSZlFmY2QmzGXMF8xjz0+bvLdQsGBbNFt8sDSw3WvZaYVa2VkVWg9Zc1l7WFdbPbSRtIm0abOZttW2zbXvtCHaOdmV2D+1F7UPt6+3nHXQdNjpcdWR19HCscJx0UnRiOHU4o84Oznucn66VWZuwttUFXOxd9rg8c5VzTXK95EZ0c3WrdHvlru6+wf2GB7dHkMcpj6+eFp6lnk+85L1Svfq82b3Xedd7f/Ox8tntM+6r6rvRd8BPyC/ar82f5O/tf8J/IcA6YF/A9DrtdQXrRtfLrc9Y3x8oFBgX2BXEHkQLuhBMCPYJPhW8RHOh1dAWQuxDDoXMh1qG7g99G2YWtjdsNtw4fHf4TIRxxO6I15HGkXsiZ6NMo8qj5qItoyuiP8bYxVTHfIt1ia2LXY7ziWuMJ8cHx7cncCXEJlxNFEvMSLxHV6IX0MeTDJL2Jc0zHBknkpHk9cltKTwp9JTbqfKp+akTaSZplWmL6d7pFzI4MxIybmcqZm7PnMmyyTqejWeHZvdtkNiQu2Fio/nGo5uQTSGb+jZLbc7bPJ1jm3Mylzk3NvfOFrUtu7d82eqztSNPNC8nbyrfNr+hgFLAKHi4zXBbdSFeGF04uF1z+8Htv4vCim4VqxWXFy/tCN1xa6f6zgM7l0siSgZLdUqrdhF3JewaLTMtO7mbc3fW7qk9znta9lL3Fu39si9oX3+5Vnn1fub9qfvHDzgdaDsofXDXwaWKqIqRSovKxkMih7Yf+nY47PBwlVnV2WrR6uLqH0eijzw6anu0pUa2pryWWJtW++qY97Ebx/WO158QOlF84lddQt34SfeTV+t16+tPiZwqbUAbUhtmT687PXTG6kzbWeWzRxv5GouboCm16c254HOj5x3P913Qu3D2oszFQ83czUUtSEtmy3xrVOt4m1/bvXaH9r4Ow47mSyqX6jolOiu7eLtKu5m787qXe7J6FnrpvXOXIy9P9QX1Pbnie+XBVberg9ccr928bnP9yg3zGz03jW929hv0t9/Su9U6oDPQclv7dvMd7TvNgzqDLXd177YN6Q913DO61z1sOnz5vtX96w/sHwyMrB25N+o1+ujhuofjj8IevX4c9/jjWNrYzyc5TwlPi55xPCt/LvK85oXCi8ZxnfGuCauJ25Mek0+mQqfevkx+uTSd94rtVfmM+Ez9a43XnbM2s0NvAt5Mv6W//TlX8I7z3aH38u8vfjD7cHved376I+Pj8qcdnwU/133R+tK34Lrw/Gv815/fihYFF09+1/t+44fPj5mf6UukpQO/FH51/Hb8/XQ5fnmZTmPQAAAAAwA0IgLgUx0Amx8A9xAAM2Xl+2t1YQgACgAkEAMHKIYpRBFJQHpRQTQFHcPssSu4Lf6AEE/kJPaRNpBNmEhMz5jbWQ6xlrLVUZ5ycHA6cm3n7ufl5FvHf1oQF6IJd4lSxXaIL0qESY5Jr5Xpl1OVL1F4q2S/plr5q6ql2k71IU02LQvtZJ1Dur164/q/DPmNlIz1TaxN3c1CzZMt8iz3WzVY99jct521W3bgdVzjZOkcsDbaJc013223e7VHg2erV5/3gM+w72O/F/5TAa/XvVv/OvBp0GBwD60xpCp0Z1hWeESEW6RhlHQ0JfprzIvY63H18TsT6IkedN0koaQlxvPk3pTa1Py0iHT7DKVM5sw3WbezmzYc2Ji3KX1zUg4jN2tL0dajeV35L7YxFRptpxfVFo/uZC4xKo3fVVU2uPvX3jX7AsqL9rccGK9gqdQ+FHR4e9X56idH8RrlWu9jm4+fPHGvbrGeesqpYcPp82c+Nho0lZ77cCHg4t0Wl9YH7UYdKZfqO592s/Ro9npfTurLv1J2tfxa+fWyG4U3t/Zvu7VzYOft/Dspgz53Ve7+HOq9lz2sM/z1/sMH7SMVoxsfBj2yeCwzxjT27sm9p83PKp5vfBE8bjWhMMkx+X3q1cvR6f5Xl2cuvW6fbX9z/G3JXNq7wPfWH5TmOeYXPo596v589Ev+QtRXx2+qi9yL374//dH7s2Yp71f4b6tlyeVlACCCEJhBBlxDuBEnZBfyAtVES9DPWBA2invhzwh0IoXYSgonC5HHmA4xR7JYsBqzeVKi2HM4jnBe5prl4eW14svkbxT4IKQizBDpFGMR96aekliWMpfOlemRXZLXVYhRPKw0sOaTCq+qppqdeoBGpGaSVqb2Rp0s3Ri9AH0nA2NDNSNJY14TsskP03dmE+YjFrcsu60uWNfZHLAttEu3j3Lwc7Rz0nOWW8vrgrt8cZ10u+fe69HkWeVV6J3sE+hr76fpLxpADHi/bnR9V2BtUFFwIs0zRCuUNXQyrD28NCIi0iiKM+pV9KWYstjwOIN49viphNbEQrpfklLSEmMw+UgKI9UyjTdtJr09Y0dmYJZaNpr9cEPjxuJN8Zu9cqxyDbbobzXOs8v3LUjYtq3w+PYrRRPFv3eKlOiXeu9KLtu1+/Se/r2vytH9Igd0DrpVxFcWHzp9eKjq6xHJo641W2vbj308oVKXdPJi/bcG/dMbznQ3QpP5ua3nr10kNNu2FLbeaCd1WF/a0tnV9aVHttfjcnZf1ZVLV0euzV7/dhPv574lMaB62/iO06D/3aih9HsFw/vu1zxoHOkc7X84+mj68Zcn2FOeZzLP9V44jUdO1E7OvpSb9n9VMHPq9Y3ZiTeLc5R3Mu9NPwTM53wc+qz5Zc/C52/uixd/CPzMX1r8nb68DAA4cIIirIUc6EVIiAGSgrSiKOqMHkF/YoHYLdwIbyHoEfqIrsQpUjZZmHyDaSdzKIsRqzDrb7ZJygB7M8dxzgNcJdyFPPm8BXzF/HsEqgUbhNqEu0S6RLvFesS7qZckmiUbpA5LF8ukyq6TM5OXVACFJ4qtSsVrvJWpym9UmlVz1BzV+dQnNBo0U7VMtZm07+sc1o3S09Jb1O82yDd0NOIyGjOuMYkx1TBdMrtuXmax3lLR8pvVFetSmwBbOdtPdt32RQ7ejhKOb51anHPWOrnwuUy4Nrgluxt6oB63PHd7+XtTvWd8zvqm+hn6o/79AaXrPNbzrX8cWBm0Plg0+BntcMj6UJHQsbAD4d4R3BF3I4ujrKMh+lJMWqx67FxcXXxIgkjCw8Q99LVJ5KTLjKxkzeS5lOOpgWn8aXfTt2WYZixmNmVFZ1OzH2/Yu9Fzk+Cm6c1tOXtzM7dEbF2X55cfUBC+LbUwf3t50Ynilh3Xd46UTJd+KcN2c++R3Ku2z6Dccr/DAbeDfhUhlYmHNh/eU3W6euDIhxqZ2sxjQyfk6jadHD2l3JB3+slZ9cbCpufndS4UX3zRotm6re1ph+alos7JbqOeA71f+zyvNF+Tu37spnL/tYHYO9KDc0M3hs89qB9tenR57NkzeKE2UfeyYKboTet79o+FCwKLzUs+y8sAK//hAACIOgDHpwC8jwK4BQDUKQHIVAJQeABc2QA89QG1KAXk8UFAbM/+fX+wgRzYQARsg5PQD28RCqKOeCFZyGGkE3mCLKGiqCkaghagp9C76BdMGDPHorBdWDs2ibPg2ngwvgNvw18SuAimhATCUcIIkZloTswgnifOkeRJkaQ60ixZhZxK7mFiYfJnOs2MMPsyn2ehsCSwDLPqsR5hI7Mx2J5THCjt7PLsFRxsHLkc3zgTOV9zhXK94A7hnuGJ5/nKm8tH4TvMr8p/RSBAYEGwTEhd6L5wuoioyJDoNjELcRC/TM2XcJYUlHwtdUm6TCZG1kZORp5VfkFhUnFY6eqaDuULKk2qjWrn1ds0ejUHtJ5rf9TF9Xj1pQyUDdWN1IwVTaimXGao2QfzJxY9ljVWhdaJNr62Fnaq9mIO7I6Y46LTvPObtdMuk64Tbi/d33p89vzlzeTD7yvnp+/vHBC6Lnv9vsCmoMHgdyGUUM0wv/DNEbWR16Kmon/FcsVJxCsmqCQq0xWSJBl8yUzJP1Jm04TSnTPyMnuyfm+w3rhn09sc59xLW7Xy2gvst01t31YsseNsiVnpeFnZHt99xvvtD6ZXXqsSPkKpQWu/H/9U975+rmHuzIfGhXO/LpJbhNtUO6w6/bqje9P6Nl3Nub7xZtqtuNvBg8VDbcNvRiQern9c/eTVc/Xx3MmRaaWZwtmZOdv3pz5yfM5eeLcY8WPmF315GQDYQQXcIBUqoAdeIiyIBhKA5CH1yADyAeVBDdBgtBBtQh9jGKaM+WH52DnsBc6GG+GxeCV+B/9NUCeEEQ4RRojsRCfiduJNEjPJmbSbNEaWITPIfUx8THFM15mlmLcwT7M4sHSwKrFWs/Gy7aAQKVvYgT2XA+Mo5KRw7ueS5GrkNuMe4YnnJfLW8JnzTfIXCCgLjArmCqkJjQvvEbETxUX7xLaK21BZqaMSNZLJUjbSYtKLMqOyrXJH5PcrlCmWKJWs2a1coXJCtVntpvpzjW9avNoGOqG6JXpd+h8MZYyCjCtNnpiJmYdZNFr+tLa2KbYdsCc46DqGOBU4n1h72WXMdd4d9+DzVPQy8/bzSfYt9TvrPxjwcT1foHFQRHAZrTvkfZhUuG9EaeT1qF8xWrHRcVXx9xJRukZSMKMk+VLK6zT2dN2M4MzirLbsmY38m+w3b8w5n/tmq1Te+vyKgkeF/Nv9iqqKX+5ULskovV4msDtxz+19auWVBygHt1eyHtpXJVd942h0Leux8yf8T+L1TQ1BZzjOXmnKOK964XVzXWt0u3LHp86O7i29Tn38V6auNd3Y0O8wIHh7aNDr7tS9rPtiDwZHix95jMk+RZ5Nvrg+0TBVOs2Y8ZgVflM9J/fu3AeT+cFPQZ8/LOR8Y188+EPsZ/Uvod+ly8sAwA/mQIdquAvLiAYSgRxEriGfUUnUHc1DW9E5TALzxXZh/TiGm+BZeCu+QNAmpBG6iASiC7GS+IZkSNpFek22Ih9jIjPRmZ4yOzH3suiydLBasN5m82N7Q9nEzsvexOHC8ZGznMuEa5b7MI8HLxvvLb7t/E4CXAJjgseFGMLmItwib0Wvix0TL6DGSnhKmktpSMvJiMsKywnJUxWUFPWVHNfQlDeoVKh2qb3UoGgaaTG0z+p80NPWzzUYNpI3zjN5ZeZk3mqpZHXMRsK21l7BodnJyvmRC92N1b3JM8CbyafLLy1Aa91iYG/wzpDAMJ0I1sjH0RWx9nGzCZmJS0kpjOkU19QL6ZwZjMwH2QYbjm5i2ZyRM7PFd+vtfIuCjkKt7S3Fxjv6S/xK35Zt2sO5t6ZcdX/7QZOKnkNGh1uqCUecju6reXFM8Xj6iWsneesjTnWcppwJO9vZxHuOfn7gonxzUcu7Nrf21ktinQVd73t8ei/3KV3Zd3X5esyNB/1mtxpu891JHrw1JHwvavj0/TcjUqM+D7c8Ovn41tj0k6VnHM/FXyiNa08YTJpMmb00mzZ5ZTCj+1p9VvGN5FvK29m59nfp77Xfz304Pu/3kflj56eIzxyf276sW4CFmq8WXye/bV4UWWz/7vV9/seOn3I/+5YClxZ/7fmt+rt/OWx5GSA5QlNjZSeK1QKA8Hx5+bMsAGk3wK+y5eWfNcvLv2oBsKcAvXErezsAAEQOgEO1/9sey38BOi/O6KPLSP4AADwwaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzAxNCA3OS4xNTY3OTcsIDIwMTQvMDgvMjAtMDk6NTM6MDIgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICAgICAgICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChNYWNpbnRvc2gpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE1LTA1LTE1VDEwOjM5OjExKzAyOjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNS0wNS0xNVQxMDozOToxMSswMjowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTUtMDUtMTVUMTA6Mzk6MTErMDI6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOmU3ODMyNmIwLTQ5NmItNGMyMy05ZGI1LTI4OTRkMWQxZWZmYzwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjQxZDQzYTcwLTNiNmMtMTE3OC05ZDQ5LWY0MzVhZTM4NTFiMTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjVkM2FkZDhiLTljMmUtNDU0ZC1iMjFhLTk5ZTliZDY2ODg1MDwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo1ZDNhZGQ4Yi05YzJlLTQ1NGQtYjIxYS05OWU5YmQ2Njg4NTA8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTUtMDUtMTVUMTA6Mzk6MTErMDI6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChNYWNpbnRvc2gpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplNzgzMjZiMC00OTZiLTRjMjMtOWRiNS0yODk0ZDFkMWVmZmM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTUtMDUtMTVUMTA6Mzk6MTErMDI6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChNYWNpbnRvc2gpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6U2VxPgogICAgICAgICA8L3htcE1NOkhpc3Rvcnk+CiAgICAgICAgIDxwaG90b3Nob3A6VGV4dExheWVycz4KICAgICAgICAgICAgPHJkZjpCYWc+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8cGhvdG9zaG9wOkxheWVyTmFtZT7DlzwvcGhvdG9zaG9wOkxheWVyTmFtZT4KICAgICAgICAgICAgICAgICAgPHBob3Rvc2hvcDpMYXllclRleHQ+w5c8L3Bob3Rvc2hvcDpMYXllclRleHQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHBob3Rvc2hvcDpMYXllck5hbWU+YTwvcGhvdG9zaG9wOkxheWVyTmFtZT4KICAgICAgICAgICAgICAgICAgPHBob3Rvc2hvcDpMYXllclRleHQ+YTwvcGhvdG9zaG9wOkxheWVyVGV4dD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOkJhZz4KICAgICAgICAgPC9waG90b3Nob3A6VGV4dExheWVycz4KICAgICAgICAgPHBob3Rvc2hvcDpDb2xvck1vZGU+MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHBob3Rvc2hvcDpJQ0NQcm9maWxlPkRpc3BsYXk8L3Bob3Rvc2hvcDpJQ0NQcm9maWxlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MTk8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MTc8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/Pn/qNPoAAAAgY0hSTQAAbZgAAHOOAAD6zAAAhPoAAHmBAAD9EwAAMG0AABIpDR4mTgAAAMBJREFUeNrE1L0NwyAURtHrKAu4pPUKXsGs4AIGyGRQ2CM4K3gFt3TJCE5DgSL+7FgKEg0SB77HE82+71w1blw47mc3ais6YAGkUW47fbMA6n6Kqa1ogekbSmLaipe2ok9AC9AfeYAWmHycKqgUswOWAIxBbz8BaGJ9pq0IF1e/YYhA0ii3HmmNVKwxhHIxt8IB0ij3rK2ZDGtRAyUx39ExcExB2df09ZDB0sMoN+eyN6VfQ1sxAG0JqsL+9gV9BgBw6UeG/cRoQwAAAABJRU5ErkJggg==);-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}input[type=file].error{color:#b94a48;background:0 0;-webkit-box-shadow:none;box-shadow:none}input[type=file].valid{color:#468847;background:0 0;-webkit-box-shadow:none;box-shadow:none}.form-error{display:block;color:#b94a48;margin-top:5px;margin-bottom:10px;line-height:140%}span.help{color:#999;font-size:90%}input.validating-server-side,select.validating-server-side{opacity:.5;background-image:url(data:image/gif;base64,R0lGODlhEAAQAPQAAP///wAAAPDw8IqKiuDg4EZGRnp6egAAAFhYWCQkJKysrL6+vhQUFJycnAQEBDY2NmhoaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH+GkNyZWF0ZWQgd2l0aCBhamF4bG9hZC5pbmZvACH5BAAKAAAAIf8LTkVUU0NBUEUyLjADAQAAACwAAAAAEAAQAAAFdyAgAgIJIeWoAkRCCMdBkKtIHIngyMKsErPBYbADpkSCwhDmQCBethRB6Vj4kFCkQPG4IlWDgrNRIwnO4UKBXDufzQvDMaoSDBgFb886MiQadgNABAokfCwzBA8LCg0Egl8jAggGAA1kBIA1BAYzlyILczULC2UhACH5BAAKAAEALAAAAAAQABAAAAV2ICACAmlAZTmOREEIyUEQjLKKxPHADhEvqxlgcGgkGI1DYSVAIAWMx+lwSKkICJ0QsHi9RgKBwnVTiRQQgwF4I4UFDQQEwi6/3YSGWRRmjhEETAJfIgMFCnAKM0KDV4EEEAQLiF18TAYNXDaSe3x6mjidN1s3IQAh+QQACgACACwAAAAAEAAQAAAFeCAgAgLZDGU5jgRECEUiCI+yioSDwDJyLKsXoHFQxBSHAoAAFBhqtMJg8DgQBgfrEsJAEAg4YhZIEiwgKtHiMBgtpg3wbUZXGO7kOb1MUKRFMysCChAoggJCIg0GC2aNe4gqQldfL4l/Ag1AXySJgn5LcoE3QXI3IQAh+QQACgADACwAAAAAEAAQAAAFdiAgAgLZNGU5joQhCEjxIssqEo8bC9BRjy9Ag7GILQ4QEoE0gBAEBcOpcBA0DoxSK/e8LRIHn+i1cK0IyKdg0VAoljYIg+GgnRrwVS/8IAkICyosBIQpBAMoKy9dImxPhS+GKkFrkX+TigtLlIyKXUF+NjagNiEAIfkEAAoABAAsAAAAABAAEAAABWwgIAICaRhlOY4EIgjH8R7LKhKHGwsMvb4AAy3WODBIBBKCsYA9TjuhDNDKEVSERezQEL0WrhXucRUQGuik7bFlngzqVW9LMl9XWvLdjFaJtDFqZ1cEZUB0dUgvL3dgP4WJZn4jkomWNpSTIyEAIfkEAAoABQAsAAAAABAAEAAABX4gIAICuSxlOY6CIgiD8RrEKgqGOwxwUrMlAoSwIzAGpJpgoSDAGifDY5kopBYDlEpAQBwevxfBtRIUGi8xwWkDNBCIwmC9Vq0aiQQDQuK+VgQPDXV9hCJjBwcFYU5pLwwHXQcMKSmNLQcIAExlbH8JBwttaX0ABAcNbWVbKyEAIfkEAAoABgAsAAAAABAAEAAABXkgIAICSRBlOY7CIghN8zbEKsKoIjdFzZaEgUBHKChMJtRwcWpAWoWnifm6ESAMhO8lQK0EEAV3rFopIBCEcGwDKAqPh4HUrY4ICHH1dSoTFgcHUiZjBhAJB2AHDykpKAwHAwdzf19KkASIPl9cDgcnDkdtNwiMJCshACH5BAAKAAcALAAAAAAQABAAAAV3ICACAkkQZTmOAiosiyAoxCq+KPxCNVsSMRgBsiClWrLTSWFoIQZHl6pleBh6suxKMIhlvzbAwkBWfFWrBQTxNLq2RG2yhSUkDs2b63AYDAoJXAcFRwADeAkJDX0AQCsEfAQMDAIPBz0rCgcxky0JRWE1AmwpKyEAIfkEAAoACAAsAAAAABAAEAAABXkgIAICKZzkqJ4nQZxLqZKv4NqNLKK2/Q4Ek4lFXChsg5ypJjs1II3gEDUSRInEGYAw6B6zM4JhrDAtEosVkLUtHA7RHaHAGJQEjsODcEg0FBAFVgkQJQ1pAwcDDw8KcFtSInwJAowCCA6RIwqZAgkPNgVpWndjdyohACH5BAAKAAkALAAAAAAQABAAAAV5ICACAimc5KieLEuUKvm2xAKLqDCfC2GaO9eL0LABWTiBYmA06W6kHgvCqEJiAIJiu3gcvgUsscHUERm+kaCxyxa+zRPk0SgJEgfIvbAdIAQLCAYlCj4DBw0IBQsMCjIqBAcPAooCBg9pKgsJLwUFOhCZKyQDA3YqIQAh+QQACgAKACwAAAAAEAAQAAAFdSAgAgIpnOSonmxbqiThCrJKEHFbo8JxDDOZYFFb+A41E4H4OhkOipXwBElYITDAckFEOBgMQ3arkMkUBdxIUGZpEb7kaQBRlASPg0FQQHAbEEMGDSVEAA1QBhAED1E0NgwFAooCDWljaQIQCE5qMHcNhCkjIQAh+QQACgALACwAAAAAEAAQAAAFeSAgAgIpnOSoLgxxvqgKLEcCC65KEAByKK8cSpA4DAiHQ/DkKhGKh4ZCtCyZGo6F6iYYPAqFgYy02xkSaLEMV34tELyRYNEsCQyHlvWkGCzsPgMCEAY7Cg04Uk48LAsDhRA8MVQPEF0GAgqYYwSRlycNcWskCkApIyEAOwAAAAAAAAAAAA==);background-position:right 5px center;background-repeat:no-repeat;background-color:#FFF}div.form-error{background-color:#f2dede;padding:15px;margin-bottom:20px;border:1px solid #b94a48;border-radius:4px}div.form-error strong{font-weight:700;display:block;margin:0;padding:0 0 10px}div.form-error strong,div.form-error ul li{line-height:140%;color:#b94a48;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px}div.form-error ul,div.form-error ul li{background:0 0} \ No newline at end of file + */@font-face{font-family:FontAwesome;src:url(../../fonts/fontawesome-webfont.eot?v=4.4.0);src:url(../../fonts/fontawesome-webfont.eot?#iefix&v=4.4.0) format('embedded-opentype'),url(../../fonts/fontawesome-webfont.woff2?v=4.4.0) format('woff2'),url(../../fonts/fontawesome-webfont.woff?v=4.4.0) format('woff'),url(../../fonts/fontawesome-webfont.ttf?v=4.4.0) format('truetype'),url(../../fonts/fontawesome-webfont.svg?v=4.4.0#fontawesomeregular) format('svg');font-weight:400;font-style:normal}.fa{font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-stack,audio,canvas,iframe,img,svg,video{vertical-align:middle}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa.fa-pull-right,.fa.pull-right{margin-left:.3em}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right,.pull-right{float:right}.pull-left{float:left}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{position:relative;width:2em;height:2em;line-height:2em}progress,sub,sup{vertical-align:baseline}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\f152"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-inr:before,.fa-rupee:before{content:"\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-empire:before,.fa-ge:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-bed:before,.fa-hotel:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-y-combinator:before,.fa-yc:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-television:before,.fa-tv:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.simplecolorpicker.picker{position:absolute;top:100%;left:0;z-index:1051;display:none;float:left;min-width:160px;max-width:283px;padding:5px 0 0 5px;margin:2px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);-moz-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.uk-panel,sub,sup{position:relative}ins,mark{background:#ffa}.simplecolorpicker.inline{display:inline-block;padding:6px 0}.simplecolorpicker span{margin:0 5px 5px 0}.simplecolorpicker span.color,.simplecolorpicker.icon{display:inline-block;cursor:pointer;border:1px solid transparent}.simplecolorpicker span.color:after,.simplecolorpicker.icon:after{content:'\00a0\00a0\00a0\00a0'}.simplecolorpicker span.color[data-disabled]:hover{cursor:not-allowed;border:1px solid transparent}.simplecolorpicker span.color:hover,.simplecolorpicker span.color[data-selected],.simplecolorpicker span.color[data-selected]:hover{border:1px solid #222}.simplecolorpicker span.vr{border-left:1px solid #222}hr,iframe,img{border:0}.uk-grid-divider:empty,hr{border-top:1px solid #ddd}.simplecolorpicker.fontawesome span.color[data-selected]:after{font-family:FontAwesome;-webkit-font-smoothing:antialiased;content:'\f00c';margin-right:1px;margin-left:1px}/*! UIkit 2.25.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */html{font:400 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;background:#fff;color:#444}body{margin:0}a{background:0 0}a:active,a:hover{outline:0}.uk-link,a{color:#07d;text-decoration:none;cursor:pointer}.uk-navbar-nav>li>a[href='#'],.uk-tab>li.uk-disabled>a{cursor:text}.uk-link:hover,a:hover{color:#059;text-decoration:underline}.uk-article-title a,.uk-nav li>a,.uk-navbar-nav>li>a,.uk-panel,.uk-panel:hover,ins{text-decoration:none}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}:not(pre)>code,:not(pre)>kbd,:not(pre)>samp{font-size:12px;font-family:Consolas,monospace,serif;color:#d05;white-space:nowrap}ins,mark,pre{color:#444}em{color:#d05}q{font-style:italic}small{font-size:80%}sub,sup{font-size:75%;line-height:0}sup{top:-.5em}sub{bottom:-.25em}img{max-width:100%;height:auto;box-sizing:border-box}.uk-img-preserve,.uk-img-preserve img{max-width:none}address,blockquote,dl,fieldset,figure,ol,p,pre,ul{margin:0 0 15px}*+address,*+blockquote,*+dl,*+fieldset,*+figure,*+ol,*+p,*+pre,*+ul{margin-top:15px}h1,h2,h3,h4,h5,h6{margin:0 0 15px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400;color:#444;text-transform:none}*+h1,*+h2,*+h3,*+h4,*+h5,*+h6{margin-top:25px}.uk-h1,h1{font-size:36px;line-height:42px}.uk-h2,h2{font-size:24px;line-height:30px}.uk-h3,h3{font-size:18px;line-height:24px}.uk-h4,h4{font-size:16px;line-height:22px}.uk-h5,h5{font-size:14px;line-height:20px}.uk-h6,h6{font-size:12px;line-height:18px}ol,ul{padding-left:30px}ol>li>ol,ol>li>ul,ul>li>ol,ul>li>ul{margin:0}dt{font-weight:700}dd{margin-left:0}hr{height:0;margin:15px 0}address{font-style:normal}blockquote{padding-left:15px;border-left:5px solid #ddd;font-size:16px;line-height:22px;font-style:italic}pre{padding:10px;background:#f5f5f5;font:12px/18px Consolas,monospace,serif;-moz-tab-size:4;tab-size:4;overflow:auto}::-moz-selection{background:#39f;color:#fff;text-shadow:none}::selection{background:#39f;color:#fff;text-shadow:none}article,aside,details,figcaption,figure,footer,header,main,nav,section,summary{display:block}[hidden],audio:not([controls]),template{display:none}@media screen and (max-width:400px){@-ms-viewport{width:device-width}}.uk-grid{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin:0;padding:0;list-style:none}.uk-grid:after,.uk-grid:before{content:"";display:block;overflow:hidden}.uk-grid>*{-ms-flex:none;-webkit-flex:none;flex:none;margin:0;float:left;padding-left:25px}.uk-grid>*>:last-child{margin-bottom:0}.uk-grid{margin-left:-25px}@media (min-width:1220px){.uk-grid{margin-left:-35px}.uk-grid>*{padding-left:35px}.uk-grid+.uk-grid,.uk-grid-margin,.uk-grid>*>.uk-panel+.uk-panel{margin-top:35px}}.uk-grid-collapse{margin-left:0}.uk-grid-collapse>*{padding-left:0}.uk-grid-collapse+.uk-grid-collapse,.uk-grid-collapse>*>.uk-panel+.uk-panel,.uk-grid-collapse>.uk-grid-margin{margin-top:0}.uk-grid-small{margin-left:-10px}.uk-grid-small>*{padding-left:10px}.uk-grid-small+.uk-grid-small,.uk-grid-small>*>.uk-panel+.uk-panel,.uk-grid-small>.uk-grid-margin{margin-top:10px}.uk-grid-medium{margin-left:-25px}.uk-grid-medium>*{padding-left:25px}.uk-grid-medium+.uk-grid-medium,.uk-grid-medium>*>.uk-panel+.uk-panel,.uk-grid-medium>.uk-grid-margin{margin-top:25px}.uk-grid-divider:not(:empty){margin-left:-25px;margin-right:-25px}.uk-grid-divider>*{padding-left:25px;padding-right:25px}.uk-grid-divider>[class*=uk-width-1-]:not(.uk-width-1-1):nth-child(n+2),.uk-grid-divider>[class*=uk-width-2-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-3-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-4-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-5-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-6-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-7-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-8-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-9-]:nth-child(n+2){border-left:1px solid #ddd}@media (min-width:1220px){.uk-grid-divider:not(:empty){margin-left:-35px;margin-right:-35px}.uk-grid-divider>*{padding-left:35px;padding-right:35px}.uk-grid-divider:empty{margin-top:35px;margin-bottom:35px}}.uk-grid-divider:empty{margin-top:25px;margin-bottom:25px}.uk-grid-match>*{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.uk-grid-match>*>*{-ms-flex:none;-webkit-flex:none;flex:none;box-sizing:border-box;width:100%}[class*=uk-grid-width]>*{box-sizing:border-box;width:100%}.uk-grid-width-1-2>*{width:50%}.uk-grid-width-1-3>*{width:33.333%}.uk-grid-width-1-4>*{width:25%}.uk-grid-width-1-5>*{width:20%}.uk-grid-width-1-6>*{width:16.666%}.uk-grid-width-1-10>*{width:10%}.uk-grid-width-auto>*{width:auto}@media (min-width:480px){.uk-grid-width-small-1-1>*{width:100%}.uk-grid-width-small-1-2>*{width:50%}.uk-grid-width-small-1-3>*{width:33.333%}.uk-grid-width-small-1-4>*{width:25%}.uk-grid-width-small-1-5>*{width:20%}.uk-grid-width-small-1-6>*{width:16.666%}.uk-grid-width-small-1-10>*{width:10%}}@media (min-width:768px){.uk-grid-divider>[class*=uk-width-medium-]:not(.uk-width-medium-1-1):nth-child(n+2){border-left:1px solid #ddd}.uk-grid-width-medium-1-1>*{width:100%}.uk-grid-width-medium-1-2>*{width:50%}.uk-grid-width-medium-1-3>*{width:33.333%}.uk-grid-width-medium-1-4>*{width:25%}.uk-grid-width-medium-1-5>*{width:20%}.uk-grid-width-medium-1-6>*{width:16.666%}.uk-grid-width-medium-1-10>*{width:10%}}@media (min-width:960px){.uk-grid-divider>[class*=uk-width-large-]:not(.uk-width-large-1-1):nth-child(n+2){border-left:1px solid #ddd}.uk-grid-width-large-1-1>*{width:100%}.uk-grid-width-large-1-2>*{width:50%}.uk-grid-width-large-1-3>*{width:33.333%}.uk-grid-width-large-1-4>*{width:25%}.uk-grid-width-large-1-5>*{width:20%}.uk-grid-width-large-1-6>*{width:16.666%}.uk-grid-width-large-1-10>*{width:10%}}@media (min-width:1220px){.uk-grid-width-xlarge-1-1>*{width:100%}.uk-grid-width-xlarge-1-2>*{width:50%}.uk-grid-width-xlarge-1-3>*{width:33.333%}.uk-grid-width-xlarge-1-4>*{width:25%}.uk-grid-width-xlarge-1-5>*{width:20%}.uk-grid-width-xlarge-1-6>*{width:16.666%}.uk-grid-width-xlarge-1-10>*{width:10%}}[class*=uk-width]{box-sizing:border-box;width:100%}.uk-width-1-1{width:100%}.uk-width-1-2,.uk-width-2-4,.uk-width-3-6,.uk-width-5-10{width:50%}.uk-width-1-3,.uk-width-2-6{width:33.333%}.uk-width-2-3,.uk-width-4-6{width:66.666%}.uk-width-1-4{width:25%}.uk-width-3-4{width:75%}.uk-width-1-5,.uk-width-2-10{width:20%}.uk-width-2-5,.uk-width-4-10{width:40%}.uk-width-3-5,.uk-width-6-10{width:60%}.uk-width-4-5,.uk-width-8-10{width:80%}.uk-width-1-6{width:16.666%}.uk-width-5-6{width:83.333%}.uk-width-1-10{width:10%}.uk-width-3-10{width:30%}.uk-width-7-10{width:70%}.uk-width-9-10{width:90%}@media (min-width:480px){.uk-width-small-1-1{width:100%}.uk-width-small-1-2,.uk-width-small-2-4,.uk-width-small-3-6,.uk-width-small-5-10{width:50%}.uk-width-small-1-3,.uk-width-small-2-6{width:33.333%}.uk-width-small-2-3,.uk-width-small-4-6{width:66.666%}.uk-width-small-1-4{width:25%}.uk-width-small-3-4{width:75%}.uk-width-small-1-5,.uk-width-small-2-10{width:20%}.uk-width-small-2-5,.uk-width-small-4-10{width:40%}.uk-width-small-3-5,.uk-width-small-6-10{width:60%}.uk-width-small-4-5,.uk-width-small-8-10{width:80%}.uk-width-small-1-6{width:16.666%}.uk-width-small-5-6{width:83.333%}.uk-width-small-1-10{width:10%}.uk-width-small-3-10{width:30%}.uk-width-small-7-10{width:70%}.uk-width-small-9-10{width:90%}}@media (min-width:768px){.uk-width-medium-1-1{width:100%}.uk-width-medium-1-2,.uk-width-medium-2-4,.uk-width-medium-3-6,.uk-width-medium-5-10{width:50%}.uk-width-medium-1-3,.uk-width-medium-2-6{width:33.333%}.uk-width-medium-2-3,.uk-width-medium-4-6{width:66.666%}.uk-width-medium-1-4{width:25%}.uk-width-medium-3-4{width:75%}.uk-width-medium-1-5,.uk-width-medium-2-10{width:20%}.uk-width-medium-2-5,.uk-width-medium-4-10{width:40%}.uk-width-medium-3-5,.uk-width-medium-6-10{width:60%}.uk-width-medium-4-5,.uk-width-medium-8-10{width:80%}.uk-width-medium-1-6{width:16.666%}.uk-width-medium-5-6{width:83.333%}.uk-width-medium-1-10{width:10%}.uk-width-medium-3-10{width:30%}.uk-width-medium-7-10{width:70%}.uk-width-medium-9-10{width:90%}[class*=uk-pull-],[class*=uk-push-]{position:relative}.uk-push-1-2,.uk-push-2-4,.uk-push-3-6,.uk-push-5-10{left:50%}.uk-push-1-3,.uk-push-2-6{left:33.333%}.uk-push-2-3,.uk-push-4-6{left:66.666%}.uk-push-1-4{left:25%}.uk-push-3-4{left:75%}.uk-push-1-5,.uk-push-2-10{left:20%}.uk-push-2-5,.uk-push-4-10{left:40%}.uk-push-3-5,.uk-push-6-10{left:60%}.uk-push-4-5,.uk-push-8-10{left:80%}.uk-push-1-6{left:16.666%}.uk-push-5-6{left:83.333%}.uk-push-1-10{left:10%}.uk-push-3-10{left:30%}.uk-push-7-10{left:70%}.uk-push-9-10{left:90%}.uk-pull-1-2,.uk-pull-2-4,.uk-pull-3-6,.uk-pull-5-10{left:-50%}.uk-pull-1-3,.uk-pull-2-6{left:-33.333%}.uk-pull-2-3,.uk-pull-4-6{left:-66.666%}.uk-pull-1-4{left:-25%}.uk-pull-3-4{left:-75%}.uk-pull-1-5,.uk-pull-2-10{left:-20%}.uk-pull-2-5,.uk-pull-4-10{left:-40%}.uk-pull-3-5,.uk-pull-6-10{left:-60%}.uk-pull-4-5,.uk-pull-8-10{left:-80%}.uk-pull-1-6{left:-16.666%}.uk-pull-5-6{left:-83.333%}.uk-pull-1-10{left:-10%}.uk-pull-3-10{left:-30%}.uk-pull-7-10{left:-70%}.uk-pull-9-10{left:-90%}}@media (min-width:960px){.uk-width-large-1-1{width:100%}.uk-width-large-1-2,.uk-width-large-2-4,.uk-width-large-3-6,.uk-width-large-5-10{width:50%}.uk-width-large-1-3,.uk-width-large-2-6{width:33.333%}.uk-width-large-2-3,.uk-width-large-4-6{width:66.666%}.uk-width-large-1-4{width:25%}.uk-width-large-3-4{width:75%}.uk-width-large-1-5,.uk-width-large-2-10{width:20%}.uk-width-large-2-5,.uk-width-large-4-10{width:40%}.uk-width-large-3-5,.uk-width-large-6-10{width:60%}.uk-width-large-4-5,.uk-width-large-8-10{width:80%}.uk-width-large-1-6{width:16.666%}.uk-width-large-5-6{width:83.333%}.uk-width-large-1-10{width:10%}.uk-width-large-3-10{width:30%}.uk-width-large-7-10{width:70%}.uk-width-large-9-10{width:90%}}.uk-panel{display:block}.uk-panel:after,.uk-panel:before{content:"";display:table}.uk-panel>:not(.uk-panel-title):last-child{margin-bottom:0}.uk-panel-teaser,.uk-panel-title{margin-bottom:15px}.uk-panel-title{margin-top:0;font-size:18px;line-height:24px;color:#444}.uk-panel-badge{position:absolute;top:0;right:0;z-index:1}.uk-panel-box .uk-panel-badge,.uk-panel-hover .uk-panel-badge{top:10px;right:10px}.uk-panel-body{padding:15px}.uk-panel-box{padding:15px;color:#444}.uk-panel-box .uk-panel-title,.uk-panel-box-hover:hover{color:#444}.uk-panel-box>.uk-panel-teaser{margin-top:-15px;margin-left:-15px;margin-right:-15px}.uk-panel-box>.uk-nav-side{margin:0 -15px}.uk-article>:last-child,.uk-block>:last-child{margin-bottom:0}.uk-panel-box-primary{background-color:#ebf7fd;color:#2d7091}.uk-panel-box-primary .uk-panel-title,.uk-panel-box-primary-hover:hover{color:#2d7091}.uk-panel-box-secondary{background-color:#eee;color:#444}.uk-panel-box-secondary .uk-panel-title,.uk-panel-box-secondary-hover:hover{color:#444}.uk-panel-hover{padding:15px;color:#444}.uk-panel-hover:hover{background:#f5f5f5;color:#444}.uk-panel-hover>.uk-panel-teaser{margin-top:-15px;margin-left:-15px;margin-right:-15px}.uk-panel-header .uk-panel-title{padding-bottom:10px;border-bottom:1px solid #ddd;color:#444}.uk-panel-space{padding:30px}.uk-panel-space .uk-panel-badge{top:30px;right:30px}.uk-panel+.uk-panel-divider{margin-top:50px!important}.uk-panel+.uk-panel-divider:before{content:"";display:block;position:absolute;top:-25px;left:0;right:0;border-top:1px solid #ddd}.uk-article:after,.uk-article:before,.uk-block:after,.uk-block:before,.uk-comment-header:after,.uk-comment-header:before{content:"";display:table}@media (min-width:1220px){.uk-width-xlarge-1-1{width:100%}.uk-width-xlarge-1-2,.uk-width-xlarge-2-4,.uk-width-xlarge-3-6,.uk-width-xlarge-5-10{width:50%}.uk-width-xlarge-1-3,.uk-width-xlarge-2-6{width:33.333%}.uk-width-xlarge-2-3,.uk-width-xlarge-4-6{width:66.666%}.uk-width-xlarge-1-4{width:25%}.uk-width-xlarge-3-4{width:75%}.uk-width-xlarge-1-5,.uk-width-xlarge-2-10{width:20%}.uk-width-xlarge-2-5,.uk-width-xlarge-4-10{width:40%}.uk-width-xlarge-3-5,.uk-width-xlarge-6-10{width:60%}.uk-width-xlarge-4-5,.uk-width-xlarge-8-10{width:80%}.uk-width-xlarge-1-6{width:16.666%}.uk-width-xlarge-5-6{width:83.333%}.uk-width-xlarge-1-10{width:10%}.uk-width-xlarge-3-10{width:30%}.uk-width-xlarge-7-10{width:70%}.uk-width-xlarge-9-10{width:90%}.uk-panel+.uk-panel-divider{margin-top:70px!important}.uk-panel+.uk-panel-divider:before{top:-35px}}*+.uk-article-divider,.uk-article+.uk-article{margin-top:25px}.uk-cover-object,[data-uk-cover]{left:50%;top:50%;position:relative}.uk-block{position:relative;box-sizing:border-box;padding-top:20px;padding-bottom:20px}@media (min-width:768px){.uk-block{padding-top:50px;padding-bottom:50px}}.uk-block-large{padding-top:20px;padding-bottom:20px}@media (min-width:768px){.uk-block-large{padding-top:50px;padding-bottom:50px}}@media (min-width:960px){.uk-block-large{padding-top:100px;padding-bottom:100px}}.uk-block-default{background:#fff}.uk-block-muted{background:#f9f9f9}.uk-block-primary{background:#00a8e6}.uk-block-secondary{background:#222}.uk-block-default+.uk-block-default,.uk-block-muted+.uk-block-muted,.uk-block-primary+.uk-block-primary,.uk-block-secondary+.uk-block-secondary{padding-top:0}.uk-article-title{font-size:36px;line-height:42px}.uk-article-title a{color:inherit}.uk-article-meta{font-size:12px;line-height:18px;color:#999}.uk-article-lead{color:#444;font-size:18px;line-height:24px;font-weight:400}.uk-article-divider{margin-bottom:25px;border-color:#ddd}.uk-nav-dropdown .uk-nav-divider,.uk-nav-navbar .uk-nav-divider,.uk-nav-side .uk-nav-divider{border-top:1px solid #ddd}.uk-comment-avatar{margin-right:15px;float:left}.uk-comment-meta{margin:2px 0 0;font-size:11px;line-height:16px;color:#999}.uk-comment-body>:last-child{margin-bottom:0}.uk-comment-list{padding:0;list-style:none}.uk-comment-list .uk-comment+ul>li:nth-child(n+2),.uk-comment-list>li:nth-child(n+2){margin-top:15px}@media (min-width:768px){.uk-comment-list .uk-comment+ul{padding-left:100px}}.uk-cover-background{background-position:50% 50%;background-size:cover;background-repeat:no-repeat}.uk-cover{overflow:hidden}.uk-cover-object{width:auto;height:auto;min-width:100%;min-height:100%;max-width:none;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}[data-uk-cover]{-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.uk-nav,.uk-nav ul{margin:0;padding:0;list-style:none}.uk-nav li>a{display:block}.uk-nav>li>a{padding:5px 15px}.uk-nav ul{padding-left:15px}.uk-nav ul a{padding:2px 0}.uk-nav li>a>div{font-size:12px;line-height:18px}.uk-nav-header{padding:5px 15px;text-transform:uppercase;font-weight:700;font-size:12px}.uk-badge,.uk-form select{text-transform:none}.uk-nav-header:not(:first-child){margin-top:15px}.uk-nav-divider{margin:9px 15px}ul.uk-nav-sub{padding:5px 0 5px 15px}.uk-nav-parent-icon>.uk-parent>a:after{content:"\f104";width:20px;margin-right:-10px;float:right;font-family:FontAwesome;text-align:center}.uk-nav-parent-icon>.uk-parent.uk-open>a:after{content:"\f107"}.uk-nav-side>li>a{color:#444}.uk-nav-side>li>a:focus,.uk-nav-side>li>a:hover{background:rgba(0,0,0,.05);color:#444;outline:0}.uk-nav-side>li.uk-active>a{background:#00a8e6;color:#fff}.uk-nav-side .uk-nav-header{color:#444}.uk-nav-side ul a{color:#07d}.uk-nav-side ul a:hover{color:#059}.uk-nav-dropdown>li>a{color:#444}.uk-nav-dropdown>li>a:focus,.uk-nav-dropdown>li>a:hover{outline:0}.uk-nav-dropdown .uk-nav-header{color:#999}.uk-nav-dropdown ul a{color:#07d}.uk-nav-dropdown ul a:hover{color:#059}.uk-nav-navbar>li>a{color:#444}.uk-nav-navbar>li>a:focus,.uk-nav-navbar>li>a:hover{background:#00a8e6;color:#fff;outline:0}.uk-nav-navbar .uk-nav-header{color:#999}.uk-nav-navbar ul a{color:#07d}.uk-nav-navbar ul a:hover{color:#059}.uk-nav-offcanvas>li>a{color:#ccc;padding:10px 15px}.uk-nav-offcanvas>.uk-open>a,html:not(.uk-touch) .uk-nav-offcanvas>li>a:focus,html:not(.uk-touch) .uk-nav-offcanvas>li>a:hover{background:#404040;color:#fff;outline:0}html .uk-nav.uk-nav-offcanvas>li.uk-active>a{background:#1a1a1a;color:#fff}.uk-nav-offcanvas .uk-nav-header{color:#777}.uk-nav-offcanvas .uk-nav-divider{border-top:1px solid #1a1a1a}.uk-nav-offcanvas ul a{color:#ccc}html:not(.uk-touch) .uk-nav-offcanvas ul a:hover{color:#fff}.uk-navbar{background:#eee;color:#444}.uk-navbar:after,.uk-navbar:before{content:"";display:table}.uk-navbar-nav{margin:0;padding:0;list-style:none;float:left}.uk-navbar-nav>li{float:left;position:relative}.uk-navbar-nav>li>a{display:block;box-sizing:border-box;height:40px;padding:0 15px;line-height:40px;color:#444;font-size:14px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400}.uk-navbar-nav>li.uk-open>a,.uk-navbar-nav>li:hover>a,.uk-navbar-nav>li>a:focus{background-color:#f5f5f5;color:#444;outline:0}.uk-navbar-nav>li>a:active{background-color:#ddd;color:#444}.uk-navbar-nav>li.uk-active>a{background-color:#f5f5f5;color:#444}.uk-navbar-nav .uk-navbar-nav-subtitle{line-height:28px}.uk-navbar-nav-subtitle>div{margin-top:-6px;font-size:10px;line-height:12px}.uk-navbar-brand,.uk-navbar-toggle{font-size:18px;text-decoration:none}.uk-navbar-brand,.uk-navbar-content,.uk-navbar-toggle{box-sizing:border-box;display:block;height:40px;padding:0 15px;float:left}.uk-navbar-brand:before,.uk-navbar-content:before,.uk-navbar-toggle:before{content:'';display:inline-block;height:100%;vertical-align:middle}.uk-navbar-content+.uk-navbar-content:not(.uk-navbar-center){padding-left:0}.uk-navbar-content>a:not([class]){color:#07d}.uk-navbar-content>a:not([class]):hover{color:#059}.uk-navbar-brand{color:#444}.uk-navbar-brand:focus,.uk-navbar-brand:hover{color:#444;text-decoration:none;outline:0}.uk-navbar-toggle{color:#444}.uk-navbar-toggle:focus,.uk-navbar-toggle:hover{color:#444;text-decoration:none;outline:0}.uk-navbar-toggle:after{content:"\f0c9";font-family:FontAwesome;vertical-align:middle}.uk-navbar-toggle-alt:after{content:"\f002"}.uk-navbar-center{float:none;text-align:center;max-width:50%;margin-left:auto;margin-right:auto}.uk-navbar-flip{float:right}.uk-subnav{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-left:-10px;margin-top:-10px;padding:0;list-style:none}.uk-subnav>*{-ms-flex:none;-webkit-flex:none;flex:none;padding-left:10px;margin-top:10px;position:relative;float:left}.uk-subnav:after,.uk-subnav:before{content:"";display:block;overflow:hidden}.uk-breadcrumb>li,.uk-breadcrumb>li>a,.uk-breadcrumb>li>span,.uk-subnav-line>:before,.uk-subnav>*>*{display:inline-block}.uk-subnav>*>*{color:#444}.uk-subnav>*>:focus,.uk-subnav>*>:hover{color:#07d;text-decoration:none}.uk-subnav>.uk-active>*{color:#07d}.uk-subnav-line>:before{content:"";height:10px;vertical-align:middle}.uk-breadcrumb>li,.uk-pagination>li,.uk-table td{vertical-align:top}.uk-subnav-line>:nth-child(n+2):before{margin-right:10px;border-left:1px solid #ddd}.uk-subnav-pill>*>*{padding:3px 9px}.uk-breadcrumb,.uk-pagination,.uk-tab{padding:0;list-style:none}.uk-subnav-pill>*>:focus,.uk-subnav-pill>*>:hover{background:#eee;color:#444;text-decoration:none;outline:0}.uk-subnav-pill>.uk-active>*{color:#fff}.uk-subnav>.uk-disabled>*{background:0 0;color:#999;text-decoration:none;cursor:text}.uk-breadcrumb{font-size:0}.uk-breadcrumb>li{font-size:1rem}.uk-breadcrumb>li:nth-child(n+2):before{content:"/";display:inline-block;margin:0 8px}.uk-breadcrumb>li:not(.uk-active)>span{color:#999}.uk-pagination{text-align:center;font-size:0}.uk-pagination:after,.uk-pagination:before{content:"";display:table}.uk-pagination>li{display:inline-block;font-size:1rem}.uk-pagination>li:nth-child(n+2){margin-left:5px}.uk-pagination>li>a,.uk-pagination>li>span{display:inline-block;text-decoration:none;text-align:center}.uk-pagination>li>a:focus,.uk-pagination>li>a:hover{background-color:#f5f5f5;color:#444;outline:0}.uk-pagination>li>a:active{background-color:#ddd;color:#444}.uk-pagination>.uk-active>span{background:#00a8e6;color:#fff}.uk-pagination>.uk-disabled>span{background-color:#f5f5f5;color:#999}.uk-pagination-previous{float:left}.uk-pagination-next{float:right}.uk-pagination-left{text-align:left}.uk-pagination-right{text-align:right}.uk-tab-center .uk-tab>li>a,.uk-tab-grid>li>a{text-align:center}.uk-tab{margin:0;border-bottom:1px solid #ddd}.uk-tab:after,.uk-tab:before{content:"";display:table}.uk-tab>li{float:left;position:relative}.uk-alert>.uk-close:first-child,.uk-tab-flip>li{float:right}.uk-tab>li>a{display:block;text-decoration:none}.uk-tab>li:nth-child(n+2)>a{margin-left:5px}.uk-tab>li.uk-open>a,.uk-tab>li>a:focus,.uk-tab>li>a:hover{border-color:#f5f5f5;background:#f5f5f5;color:#059;outline:0}.uk-tab>li.uk-open:not(.uk-active)>a,.uk-tab>li:not(.uk-active)>a:focus,.uk-tab>li:not(.uk-active)>a:hover{margin-bottom:1px;padding-bottom:7px}.uk-tab>li.uk-active>a{border-color:#ddd #ddd transparent;color:#444}.uk-button:not(:disabled),.uk-form input[type=checkbox]:not(:disabled),.uk-form input[type=radio]:not(:disabled){cursor:pointer}.uk-tab>li.uk-disabled.uk-active>a,.uk-tab>li.uk-disabled>a:focus,.uk-tab>li.uk-disabled>a:hover{background:0 0;border-color:transparent}.uk-tab-flip>li:nth-child(n+2)>a{margin-left:0;margin-right:5px}.uk-tab>li.uk-tab-responsive>a{margin-left:0;margin-right:0}.uk-tab-center{border-bottom:1px solid #ddd}.uk-tab-center-bottom{border-bottom:none;border-top:1px solid #ddd}.uk-tab-center:after,.uk-tab-center:before{content:"";display:table}.uk-tab-center .uk-tab{position:relative;right:50%;border:none;float:right}.uk-tab-center .uk-tab>li{position:relative;right:-50%}.uk-tab-bottom{border-top:1px solid #ddd;border-bottom:none}.uk-tab-bottom>li{margin-top:-1px;margin-bottom:0}.uk-tab-bottom>li>a{padding-top:8px;padding-bottom:8px;border-bottom-width:1px;border-top-width:0}.uk-tab-bottom>li.uk-open:not(.uk-active)>a,.uk-tab-bottom>li:not(.uk-active)>a:focus,.uk-tab-bottom>li:not(.uk-active)>a:hover{margin-bottom:0;margin-top:1px;padding-bottom:8px;padding-top:7px}.uk-tab-bottom>li.uk-active>a{border-top-color:transparent;border-bottom-color:#ddd}.uk-tab-grid{margin-left:-5px;border-bottom:none;position:relative;z-index:0}.uk-tab-grid:before{display:block;position:absolute;left:5px;right:0;bottom:-1px;border-top:1px solid #ddd;z-index:-1}.uk-tab-grid>li:first-child>a{margin-left:5px}.uk-tab-grid.uk-tab-bottom{border-top:none}.uk-tab-grid.uk-tab-bottom:before{top:-1px;bottom:auto}@media (min-width:768px){.uk-tab-left,.uk-tab-right{border-bottom:none}.uk-tab-left>li,.uk-tab-right>li{margin-bottom:0;float:none}.uk-tab-left>li>a,.uk-tab-right>li>a{padding-top:8px;padding-bottom:8px}.uk-tab-left>li:nth-child(n+2)>a,.uk-tab-right>li:nth-child(n+2)>a{margin-left:0;margin-top:5px}.uk-tab-left>li.uk-active>a,.uk-tab-right>li.uk-active>a{border-color:#ddd}.uk-tab-left{border-right:1px solid #ddd}.uk-tab-left>li{margin-right:-1px}.uk-tab-left>li>a{border-bottom-width:1px;border-right-width:0}.uk-tab-left>li:not(.uk-active)>a:focus,.uk-tab-left>li:not(.uk-active)>a:hover{margin-bottom:0;margin-right:1px;padding-bottom:8px;padding-right:11px}.uk-tab-left>li.uk-active>a{border-right-color:transparent}.uk-tab-right{border-left:1px solid #ddd}.uk-tab-right>li{margin-left:-1px}.uk-tab-right>li>a{border-bottom-width:1px;border-left-width:0}.uk-tab-right>li:not(.uk-active)>a:focus,.uk-tab-right>li:not(.uk-active)>a:hover{margin-bottom:0;margin-left:1px;padding-bottom:8px;padding-left:11px}.uk-tab-right>li.uk-active>a{border-left-color:transparent}}.uk-thumbnav{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-left:-10px;margin-top:-10px;padding:0;list-style:none}.uk-thumbnav>*{-ms-flex:none;-webkit-flex:none;flex:none;padding-left:10px;margin-top:10px;float:left}.uk-thumbnav:after,.uk-thumbnav:before{content:"";display:block;overflow:hidden}.uk-thumbnav>*>*{display:block;background:#fff}.uk-thumbnav>*>*>img{opacity:.7;transition:opacity .15s linear}.uk-close-alt:focus,.uk-close-alt:hover,.uk-thumbnav>*>:focus>img,.uk-thumbnav>*>:hover>img,.uk-thumbnav>.uk-active>*>img{opacity:1}.uk-list{padding:0;list-style:none}.uk-list>li:after,.uk-list>li:before{content:"";display:table}.uk-list>li>:last-child{margin-bottom:0}.uk-list ul{margin:0;padding-left:20px;list-style:none}.uk-list-line>li:nth-child(n+2){margin-top:5px;padding-top:5px;border-top:1px solid #ddd}.uk-list-striped>li{padding:5px}.uk-list-striped>li:nth-of-type(odd){background:#f5f5f5}.uk-list-space>li:nth-child(n+2){margin-top:10px}@media (min-width:768px){.uk-description-list-horizontal{overflow:hidden}.uk-description-list-horizontal>dt{width:160px;float:left;clear:both;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uk-description-list-horizontal>dd{margin-left:180px}}.uk-description-list-line>dt{font-weight:400}.uk-description-list-line>dt:nth-child(n+2){margin-top:5px;padding-top:5px;border-top:1px solid #ddd}.uk-description-list-line>dd{color:#999}.uk-table{border-collapse:collapse;border-spacing:0;width:100%;margin-bottom:15px}*+.uk-table{margin-top:15px}.uk-table td,.uk-table th{padding:8px}.uk-table th{text-align:left}.uk-table thead th{vertical-align:bottom}.uk-table caption,.uk-table tfoot{font-size:12px;font-style:italic}.uk-table caption{text-align:left;color:#999}.uk-table tbody tr.uk-active{background:#eee}.uk-table-middle,.uk-table-middle td{vertical-align:middle!important}.uk-table-condensed td{padding:4px 8px}.uk-form input,.uk-form select,.uk-form textarea{box-sizing:border-box;margin:0;border-radius:0;font:inherit;color:inherit}.uk-form optgroup{font:inherit;font-weight:700}.uk-form input::-moz-focus-inner{border:0;padding:0}.uk-form input[type=checkbox],.uk-form input[type=radio]{padding:0}.uk-form input[type=search]::-webkit-search-cancel-button,.uk-form input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.uk-form input[type=number]::-webkit-inner-spin-button,.uk-form input[type=number]::-webkit-outer-spin-button{height:auto}.uk-form fieldset{border:none;margin:0;padding:0}.uk-form textarea{overflow:auto;vertical-align:top}.uk-button,.uk-button-group,.uk-form input:not([type=radio]):not([type=checkbox]),.uk-form select{vertical-align:middle}.uk-form :invalid{box-shadow:none}.uk-form>:last-child{margin-bottom:0}.uk-form input:not([type]),.uk-form input[type=color],.uk-form input[type=date],.uk-form input[type=datetime-local],.uk-form input[type=datetime],.uk-form input[type=email],.uk-form input[type=month],.uk-form input[type=number],.uk-form input[type=password],.uk-form input[type=search],.uk-form input[type=tel],.uk-form input[type=text],.uk-form input[type=time],.uk-form input[type=url],.uk-form input[type=week],.uk-form select,.uk-form textarea{height:30px;max-width:100%;padding:4px 6px;border:1px solid #ddd;background:#fff;color:#444;-webkit-transition:all linear .2s;transition:all linear .2s}.uk-form input:not([type]):focus,.uk-form input[type=color]:focus,.uk-form input[type=date]:focus,.uk-form input[type=datetime-local]:focus,.uk-form input[type=datetime]:focus,.uk-form input[type=email]:focus,.uk-form input[type=month]:focus,.uk-form input[type=number]:focus,.uk-form input[type=password]:focus,.uk-form input[type=search]:focus,.uk-form input[type=tel]:focus,.uk-form input[type=text]:focus,.uk-form input[type=time]:focus,.uk-form input[type=url]:focus,.uk-form input[type=week]:focus,.uk-form select:focus,.uk-form textarea:focus{border-color:#99baca;outline:0;background:#f5fbfe;color:#444}.uk-form input:not([type]):disabled,.uk-form input[type=color]:disabled,.uk-form input[type=date]:disabled,.uk-form input[type=datetime-local]:disabled,.uk-form input[type=datetime]:disabled,.uk-form input[type=email]:disabled,.uk-form input[type=month]:disabled,.uk-form input[type=number]:disabled,.uk-form input[type=password]:disabled,.uk-form input[type=search]:disabled,.uk-form input[type=tel]:disabled,.uk-form input[type=text]:disabled,.uk-form input[type=time]:disabled,.uk-form input[type=url]:disabled,.uk-form input[type=week]:disabled,.uk-form select:disabled,.uk-form textarea:disabled{border-color:#ddd;background-color:#f5f5f5;color:#999}.uk-form :-ms-input-placeholder{color:#999!important}.uk-form ::-moz-placeholder{opacity:1;color:#999}.uk-form ::-webkit-input-placeholder{color:#999}.uk-form :disabled:-ms-input-placeholder{color:#999!important}.uk-form :disabled::-moz-placeholder{color:#999}.uk-form :disabled::-webkit-input-placeholder{color:#999}.uk-form legend{width:100%;border:0;padding:0 0 15px;font-size:18px;line-height:30px}.uk-form legend:after{content:"";display:block;border-bottom:1px solid #ddd;width:100%}input:not([type]).uk-form-small,input[type].uk-form-small,select.uk-form-small,textarea.uk-form-small{height:25px;padding:3px;font-size:12px}input:not([type]).uk-form-large,input[type].uk-form-large,select.uk-form-large,textarea.uk-form-large{height:40px;padding:8px 6px;font-size:16px}.uk-form select[multiple],.uk-form select[size],.uk-form textarea{height:auto}.uk-form-danger{border-color:#dc8d99!important;background:#fff7f8!important;color:#d85030!important}.uk-form-success{border-color:#8ec73b!important;background:#fafff2!important;color:#659f13!important}.uk-form-blank{border-color:transparent!important;border-style:dashed!important;background:0 0!important}.uk-form-blank:focus{border-color:#ddd!important}input.uk-form-width-mini{width:40px}select.uk-form-width-mini{width:65px}.uk-form-width-small{width:130px}.uk-form-width-medium{width:200px}.uk-form-width-large{width:500px}.uk-form-row:after,.uk-form-row:before{content:"";display:table}.uk-form-help-inline{display:inline-block;margin:0 0 0 10px}.uk-form-help-block{margin:5px 0 0}.uk-form-controls>:first-child{margin-top:0}.uk-form-controls>:last-child{margin-bottom:0}.uk-form-controls-condensed{margin:5px 0}.uk-form-stacked .uk-form-label{margin-bottom:5px}@media (max-width:959px){.uk-form-horizontal .uk-form-label{display:block;margin-bottom:5px;font-weight:700}}.uk-button,.uk-button-dropdown,.uk-button-group,.uk-button-group>*,.uk-close,.uk-form-icon,.uk-icon-button,.uk-icon-spin,[class*=uk-icon-]{display:inline-block}@media (min-width:960px){.uk-form-horizontal .uk-form-label{width:200px;margin-top:5px;float:left}.uk-form-horizontal .uk-form-controls{margin-left:215px}.uk-form-horizontal .uk-form-controls-text{padding-top:5px}}.uk-form-icon{position:relative;max-width:100%}.uk-form-icon>[class*=uk-icon-]{position:absolute;top:50%;width:30px;margin-top:-7px;font-size:14px;color:#999;text-align:center;pointer-events:none}.uk-button,.uk-close{margin:0;overflow:visible;text-transform:none;text-align:center}.uk-form-icon:not(.uk-form-icon-flip)>input{padding-left:30px!important}.uk-form-icon-flip>[class*=uk-icon-]{right:0}.uk-form-icon-flip>input{padding-right:30px!important}.uk-button::-moz-focus-inner{border:0;padding:0}.uk-button{border:none;font:inherit;color:#444;box-sizing:border-box;padding:0 12px;background:#eee;line-height:30px;min-height:30px;font-size:1rem;text-decoration:none}.uk-button:focus,.uk-button:hover{background-color:#f5f5f5;color:#444;outline:0;text-decoration:none}.uk-button.uk-active,.uk-button:active{background-color:#ddd;color:#444}.uk-button-primary{background-color:#00a8e6;color:#fff}.uk-button-primary:focus,.uk-button-primary:hover{background-color:#35b3ee;color:#fff}.uk-button-primary.uk-active,.uk-button-primary:active{background-color:#0091ca;color:#fff}.uk-button-success{background-color:#8cc14c;color:#fff}.uk-button-success:focus,.uk-button-success:hover{background-color:#8ec73b;color:#fff}.uk-button-success.uk-active,.uk-button-success:active{background-color:#72ae41;color:#fff}.uk-button-danger{background-color:#da314b;color:#fff}.uk-button-danger:focus,.uk-button-danger:hover{background-color:#e4354f;color:#fff}.uk-button-danger.uk-active,.uk-button-danger:active{background-color:#c91032;color:#fff}.uk-button:disabled{background-color:#f5f5f5;color:#999}.uk-button-link,.uk-button-link.uk-active,.uk-button-link:active,.uk-button-link:disabled,.uk-button-link:focus,.uk-button-link:hover{border-color:transparent;background:0 0}.uk-button-link{color:#07d}.uk-button-link.uk-active,.uk-button-link:active,.uk-button-link:focus,.uk-button-link:hover{color:#059;text-decoration:underline}.uk-button-link:disabled,.uk-icon-hover{color:#999}.uk-button-link:focus{outline:dotted 1px}.uk-button-mini{min-height:20px;padding:0 6px;line-height:20px;font-size:11px}.uk-button-small{min-height:25px;padding:0 10px;line-height:25px;font-size:12px}.uk-button-large{min-height:40px;padding:0 15px;line-height:40px;font-size:16px}.uk-button-group{position:relative;font-size:0;white-space:nowrap}.uk-button-group .uk-button{vertical-align:top}.uk-button-dropdown{vertical-align:middle;position:relative}@font-face{font-family:FontAwesome;src:url(../fonts/fontawesome-webfont.woff2) format('woff2'),url(../fonts/fontawesome-webfont.woff) format("woff"),url(../fonts/fontawesome-webfont.ttf) format("truetype");font-weight:400;font-style:normal}[class*=uk-icon-]{font-family:FontAwesome;font-weight:400;font-style:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[class*=uk-icon-],[class*=uk-icon-]:focus,[class*=uk-icon-]:hover{text-decoration:none}.uk-icon-small{font-size:150%;vertical-align:-10%}.uk-icon-medium{font-size:200%;vertical-align:-16%}.uk-icon-large{font-size:250%;vertical-align:-22%}.uk-badge,.uk-close,.uk-overlay,.uk-overlay-area-content{vertical-align:middle}.uk-icon-justify{width:1em;text-align:center}.uk-icon-spin{-webkit-animation:uk-rotate 2s infinite linear;animation:uk-rotate 2s infinite linear}.uk-icon-hover:hover{color:#444}.uk-icon-button{box-sizing:border-box;width:35px;height:35px;border-radius:100%;background:#eee;line-height:35px;color:#444;font-size:18px;text-align:center}.uk-icon-button:focus,.uk-icon-button:hover{background-color:#f5f5f5;color:#444;outline:0}.uk-icon-button:active{background-color:#ddd;color:#444}.uk-icon-music:before{content:"\f001"}.uk-icon-search:before{content:"\f002"}.uk-icon-envelope-o:before{content:"\f003"}.uk-icon-heart:before{content:"\f004"}.uk-icon-star:before{content:"\f005"}.uk-icon-star-o:before{content:"\f006"}.uk-icon-user:before{content:"\f007"}.uk-icon-film:before{content:"\f008"}.uk-icon-th-large:before{content:"\f009"}.uk-icon-th:before{content:"\f00a"}.uk-icon-th-list:before{content:"\f00b"}.uk-icon-check:before{content:"\f00c"}.uk-icon-close:before,.uk-icon-remove:before,.uk-icon-times:before{content:"\f00d"}.uk-icon-search-plus:before{content:"\f00e"}.uk-icon-search-minus:before{content:"\f010"}.uk-icon-power-off:before{content:"\f011"}.uk-icon-signal:before{content:"\f012"}.uk-icon-cog:before,.uk-icon-gear:before{content:"\f013"}.uk-icon-trash-o:before{content:"\f014"}.uk-icon-home:before{content:"\f015"}.uk-icon-file-o:before{content:"\f016"}.uk-icon-clock-o:before{content:"\f017"}.uk-icon-road:before{content:"\f018"}.uk-icon-download:before{content:"\f019"}.uk-icon-arrow-circle-o-down:before{content:"\f01a"}.uk-icon-arrow-circle-o-up:before{content:"\f01b"}.uk-icon-inbox:before{content:"\f01c"}.uk-icon-play-circle-o:before{content:"\f01d"}.uk-icon-repeat:before,.uk-icon-rotate-right:before{content:"\f01e"}.uk-icon-refresh:before{content:"\f021"}.uk-icon-list-alt:before{content:"\f022"}.uk-icon-lock:before{content:"\f023"}.uk-icon-flag:before{content:"\f024"}.uk-icon-headphones:before{content:"\f025"}.uk-icon-volume-off:before{content:"\f026"}.uk-icon-volume-down:before{content:"\f027"}.uk-icon-volume-up:before{content:"\f028"}.uk-icon-qrcode:before{content:"\f029"}.uk-icon-barcode:before{content:"\f02a"}.uk-icon-tag:before{content:"\f02b"}.uk-icon-tags:before{content:"\f02c"}.uk-icon-book:before{content:"\f02d"}.uk-icon-bookmark:before{content:"\f02e"}.uk-icon-print:before{content:"\f02f"}.uk-icon-camera:before{content:"\f030"}.uk-icon-font:before{content:"\f031"}.uk-icon-bold:before{content:"\f032"}.uk-icon-italic:before{content:"\f033"}.uk-icon-text-height:before{content:"\f034"}.uk-icon-text-width:before{content:"\f035"}.uk-icon-align-left:before{content:"\f036"}.uk-icon-align-center:before{content:"\f037"}.uk-icon-align-right:before{content:"\f038"}.uk-icon-align-justify:before{content:"\f039"}.uk-icon-list:before{content:"\f03a"}.uk-icon-dedent:before,.uk-icon-outdent:before{content:"\f03b"}.uk-icon-indent:before{content:"\f03c"}.uk-icon-video-camera:before{content:"\f03d"}.uk-icon-image:before,.uk-icon-photo:before,.uk-icon-picture-o:before{content:"\f03e"}.uk-icon-pencil:before{content:"\f040"}.uk-icon-map-marker:before{content:"\f041"}.uk-icon-adjust:before{content:"\f042"}.uk-icon-tint:before{content:"\f043"}.uk-icon-edit:before,.uk-icon-pencil-square-o:before{content:"\f044"}.uk-icon-share-square-o:before{content:"\f045"}.uk-icon-check-square-o:before{content:"\f046"}.uk-icon-arrows:before{content:"\f047"}.uk-icon-step-backward:before{content:"\f048"}.uk-icon-fast-backward:before{content:"\f049"}.uk-icon-backward:before{content:"\f04a"}.uk-icon-play:before{content:"\f04b"}.uk-icon-pause:before{content:"\f04c"}.uk-icon-stop:before{content:"\f04d"}.uk-icon-forward:before{content:"\f04e"}.uk-icon-fast-forward:before{content:"\f050"}.uk-icon-step-forward:before{content:"\f051"}.uk-icon-eject:before{content:"\f052"}.uk-icon-chevron-left:before{content:"\f053"}.uk-icon-chevron-right:before{content:"\f054"}.uk-icon-plus-circle:before{content:"\f055"}.uk-icon-minus-circle:before{content:"\f056"}.uk-icon-times-circle:before{content:"\f057"}.uk-icon-check-circle:before{content:"\f058"}.uk-icon-question-circle:before{content:"\f059"}.uk-icon-info-circle:before{content:"\f05a"}.uk-icon-crosshairs:before{content:"\f05b"}.uk-icon-times-circle-o:before{content:"\f05c"}.uk-icon-check-circle-o:before{content:"\f05d"}.uk-icon-ban:before{content:"\f05e"}.uk-icon-arrow-left:before{content:"\f060"}.uk-icon-arrow-right:before{content:"\f061"}.uk-icon-arrow-up:before{content:"\f062"}.uk-icon-arrow-down:before{content:"\f063"}.uk-icon-mail-forward:before,.uk-icon-share:before{content:"\f064"}.uk-icon-expand:before{content:"\f065"}.uk-icon-compress:before{content:"\f066"}.uk-icon-plus:before{content:"\f067"}.uk-icon-minus:before{content:"\f068"}.uk-icon-asterisk:before{content:"\f069"}.uk-icon-exclamation-circle:before{content:"\f06a"}.uk-icon-gift:before{content:"\f06b"}.uk-icon-leaf:before{content:"\f06c"}.uk-icon-fire:before{content:"\f06d"}.uk-icon-eye:before{content:"\f06e"}.uk-icon-eye-slash:before{content:"\f070"}.uk-icon-exclamation-triangle:before,.uk-icon-warning:before{content:"\f071"}.uk-icon-plane:before{content:"\f072"}.uk-icon-calendar:before{content:"\f073"}.uk-icon-random:before{content:"\f074"}.uk-icon-comment:before{content:"\f075"}.uk-icon-magnet:before{content:"\f076"}.uk-icon-chevron-up:before{content:"\f077"}.uk-icon-chevron-down:before{content:"\f078"}.uk-icon-retweet:before{content:"\f079"}.uk-icon-shopping-cart:before{content:"\f07a"}.uk-icon-folder:before{content:"\f07b"}.uk-icon-folder-open:before{content:"\f07c"}.uk-icon-arrows-v:before{content:"\f07d"}.uk-icon-arrows-h:before{content:"\f07e"}.uk-icon-bar-chart-o:before,.uk-icon-bar-chart:before{content:"\f080"}.uk-icon-twitter-square:before{content:"\f081"}.uk-icon-facebook-square:before{content:"\f082"}.uk-icon-camera-retro:before{content:"\f083"}.uk-icon-key:before{content:"\f084"}.uk-icon-cogs:before,.uk-icon-gears:before{content:"\f085"}.uk-icon-comments:before{content:"\f086"}.uk-icon-thumbs-o-up:before{content:"\f087"}.uk-icon-thumbs-o-down:before{content:"\f088"}.uk-icon-star-half:before{content:"\f089"}.uk-icon-heart-o:before{content:"\f08a"}.uk-icon-sign-out:before{content:"\f08b"}.uk-icon-linkedin-square:before{content:"\f08c"}.uk-icon-thumb-tack:before{content:"\f08d"}.uk-icon-external-link:before{content:"\f08e"}.uk-icon-sign-in:before{content:"\f090"}.uk-icon-trophy:before{content:"\f091"}.uk-icon-github-square:before{content:"\f092"}.uk-icon-upload:before{content:"\f093"}.uk-icon-lemon-o:before{content:"\f094"}.uk-icon-phone:before{content:"\f095"}.uk-icon-square-o:before{content:"\f096"}.uk-icon-bookmark-o:before{content:"\f097"}.uk-icon-phone-square:before{content:"\f098"}.uk-icon-twitter:before{content:"\f099"}.uk-icon-facebook-f:before,.uk-icon-facebook:before{content:"\f09a"}.uk-icon-github:before{content:"\f09b"}.uk-icon-unlock:before{content:"\f09c"}.uk-icon-credit-card:before{content:"\f09d"}.uk-icon-rss:before{content:"\f09e"}.uk-icon-hdd-o:before{content:"\f0a0"}.uk-icon-bullhorn:before{content:"\f0a1"}.uk-icon-bell:before{content:"\f0f3"}.uk-icon-certificate:before{content:"\f0a3"}.uk-icon-hand-o-right:before{content:"\f0a4"}.uk-icon-hand-o-left:before{content:"\f0a5"}.uk-icon-hand-o-up:before{content:"\f0a6"}.uk-icon-hand-o-down:before{content:"\f0a7"}.uk-icon-arrow-circle-left:before{content:"\f0a8"}.uk-icon-arrow-circle-right:before{content:"\f0a9"}.uk-icon-arrow-circle-up:before{content:"\f0aa"}.uk-icon-arrow-circle-down:before{content:"\f0ab"}.uk-icon-globe:before{content:"\f0ac"}.uk-icon-wrench:before{content:"\f0ad"}.uk-icon-tasks:before{content:"\f0ae"}.uk-icon-filter:before{content:"\f0b0"}.uk-icon-briefcase:before{content:"\f0b1"}.uk-icon-arrows-alt:before{content:"\f0b2"}.uk-icon-group:before,.uk-icon-users:before{content:"\f0c0"}.uk-icon-chain:before,.uk-icon-link:before{content:"\f0c1"}.uk-icon-cloud:before{content:"\f0c2"}.uk-icon-flask:before{content:"\f0c3"}.uk-icon-cut:before,.uk-icon-scissors:before{content:"\f0c4"}.uk-icon-copy:before,.uk-icon-files-o:before{content:"\f0c5"}.uk-icon-paperclip:before{content:"\f0c6"}.uk-icon-floppy-o:before,.uk-icon-save:before{content:"\f0c7"}.uk-icon-square:before{content:"\f0c8"}.uk-icon-bars:before,.uk-icon-navicon:before,.uk-icon-reorder:before{content:"\f0c9"}.uk-icon-list-ul:before{content:"\f0ca"}.uk-icon-list-ol:before{content:"\f0cb"}.uk-icon-strikethrough:before{content:"\f0cc"}.uk-icon-underline:before{content:"\f0cd"}.uk-icon-table:before{content:"\f0ce"}.uk-icon-magic:before{content:"\f0d0"}.uk-icon-truck:before{content:"\f0d1"}.uk-icon-pinterest:before{content:"\f0d2"}.uk-icon-pinterest-square:before{content:"\f0d3"}.uk-icon-google-plus-square:before{content:"\f0d4"}.uk-icon-google-plus:before{content:"\f0d5"}.uk-icon-money:before{content:"\f0d6"}.uk-icon-caret-down:before{content:"\f0d7"}.uk-icon-caret-up:before{content:"\f0d8"}.uk-icon-caret-left:before{content:"\f0d9"}.uk-icon-caret-right:before{content:"\f0da"}.uk-icon-columns:before{content:"\f0db"}.uk-icon-sort:before,.uk-icon-unsorted:before{content:"\f0dc"}.uk-icon-sort-desc:before,.uk-icon-sort-down:before{content:"\f0dd"}.uk-icon-sort-asc:before,.uk-icon-sort-up:before{content:"\f0de"}.uk-icon-envelope:before{content:"\f0e0"}.uk-icon-linkedin:before{content:"\f0e1"}.uk-icon-rotate-left:before,.uk-icon-undo:before{content:"\f0e2"}.uk-icon-gavel:before,.uk-icon-legal:before{content:"\f0e3"}.uk-icon-dashboard:before,.uk-icon-tachometer:before{content:"\f0e4"}.uk-icon-comment-o:before{content:"\f0e5"}.uk-icon-comments-o:before{content:"\f0e6"}.uk-icon-bolt:before,.uk-icon-flash:before{content:"\f0e7"}.uk-icon-sitemap:before{content:"\f0e8"}.uk-icon-umbrella:before{content:"\f0e9"}.uk-icon-clipboard:before,.uk-icon-paste:before{content:"\f0ea"}.uk-icon-lightbulb-o:before{content:"\f0eb"}.uk-icon-exchange:before{content:"\f0ec"}.uk-icon-cloud-download:before{content:"\f0ed"}.uk-icon-cloud-upload:before{content:"\f0ee"}.uk-icon-user-md:before{content:"\f0f0"}.uk-icon-stethoscope:before{content:"\f0f1"}.uk-icon-suitcase:before{content:"\f0f2"}.uk-icon-bell-o:before{content:"\f0a2"}.uk-icon-coffee:before{content:"\f0f4"}.uk-icon-cutlery:before{content:"\f0f5"}.uk-icon-file-text-o:before{content:"\f0f6"}.uk-icon-building-o:before{content:"\f0f7"}.uk-icon-hospital-o:before{content:"\f0f8"}.uk-icon-ambulance:before{content:"\f0f9"}.uk-icon-medkit:before{content:"\f0fa"}.uk-icon-fighter-jet:before{content:"\f0fb"}.uk-icon-beer:before{content:"\f0fc"}.uk-icon-h-square:before{content:"\f0fd"}.uk-icon-plus-square:before{content:"\f0fe"}.uk-icon-angle-double-left:before{content:"\f100"}.uk-icon-angle-double-right:before{content:"\f101"}.uk-icon-angle-double-up:before{content:"\f102"}.uk-icon-angle-double-down:before{content:"\f103"}.uk-icon-angle-left:before{content:"\f104"}.uk-icon-angle-right:before{content:"\f105"}.uk-icon-angle-up:before{content:"\f106"}.uk-icon-angle-down:before{content:"\f107"}.uk-icon-desktop:before{content:"\f108"}.uk-icon-laptop:before{content:"\f109"}.uk-icon-tablet:before{content:"\f10a"}.uk-icon-mobile-phone:before,.uk-icon-mobile:before{content:"\f10b"}.uk-icon-circle-o:before{content:"\f10c"}.uk-icon-quote-left:before{content:"\f10d"}.uk-icon-quote-right:before{content:"\f10e"}.uk-icon-spinner:before{content:"\f110"}.uk-icon-circle:before{content:"\f111"}.uk-icon-mail-reply:before,.uk-icon-reply:before{content:"\f112"}.uk-icon-github-alt:before{content:"\f113"}.uk-icon-folder-o:before{content:"\f114"}.uk-icon-folder-open-o:before{content:"\f115"}.uk-icon-smile-o:before{content:"\f118"}.uk-icon-frown-o:before{content:"\f119"}.uk-icon-meh-o:before{content:"\f11a"}.uk-icon-gamepad:before{content:"\f11b"}.uk-icon-keyboard-o:before{content:"\f11c"}.uk-icon-flag-o:before{content:"\f11d"}.uk-icon-flag-checkered:before{content:"\f11e"}.uk-icon-terminal:before{content:"\f120"}.uk-icon-code:before{content:"\f121"}.uk-icon-mail-reply-all:before,.uk-icon-reply-all:before{content:"\f122"}.uk-icon-star-half-empty:before,.uk-icon-star-half-full:before,.uk-icon-star-half-o:before{content:"\f123"}.uk-icon-location-arrow:before{content:"\f124"}.uk-icon-crop:before{content:"\f125"}.uk-icon-code-fork:before{content:"\f126"}.uk-icon-chain-broken:before,.uk-icon-unlink:before{content:"\f127"}.uk-icon-question:before{content:"\f128"}.uk-icon-info:before{content:"\f129"}.uk-icon-exclamation:before{content:"\f12a"}.uk-icon-superscript:before{content:"\f12b"}.uk-icon-subscript:before{content:"\f12c"}.uk-icon-eraser:before{content:"\f12d"}.uk-icon-puzzle-piece:before{content:"\f12e"}.uk-icon-microphone:before{content:"\f130"}.uk-icon-microphone-slash:before{content:"\f131"}.uk-icon-shield:before{content:"\f132"}.uk-icon-calendar-o:before{content:"\f133"}.uk-icon-fire-extinguisher:before{content:"\f134"}.uk-icon-rocket:before{content:"\f135"}.uk-icon-maxcdn:before{content:"\f136"}.uk-icon-chevron-circle-left:before{content:"\f137"}.uk-icon-chevron-circle-right:before{content:"\f138"}.uk-icon-chevron-circle-up:before{content:"\f139"}.uk-icon-chevron-circle-down:before{content:"\f13a"}.uk-icon-html5:before{content:"\f13b"}.uk-icon-css3:before{content:"\f13c"}.uk-icon-anchor:before{content:"\f13d"}.uk-icon-unlock-alt:before{content:"\f13e"}.uk-icon-bullseye:before{content:"\f140"}.uk-icon-ellipsis-h:before{content:"\f141"}.uk-icon-ellipsis-v:before{content:"\f142"}.uk-icon-rss-square:before{content:"\f143"}.uk-icon-play-circle:before{content:"\f144"}.uk-icon-ticket:before{content:"\f145"}.uk-icon-minus-square:before{content:"\f146"}.uk-icon-minus-square-o:before{content:"\f147"}.uk-icon-level-up:before{content:"\f148"}.uk-icon-level-down:before{content:"\f149"}.uk-icon-check-square:before{content:"\f14a"}.uk-icon-pencil-square:before{content:"\f14b"}.uk-icon-external-link-square:before{content:"\f14c"}.uk-icon-share-square:before{content:"\f14d"}.uk-icon-compass:before{content:"\f14e"}.uk-icon-caret-square-o-down:before,.uk-icon-toggle-down:before{content:"\f150"}.uk-icon-caret-square-o-up:before,.uk-icon-toggle-up:before{content:"\f151"}.uk-icon-caret-square-o-right:before,.uk-icon-toggle-right:before{content:"\f152"}.uk-icon-eur:before,.uk-icon-euro:before{content:"\f153"}.uk-icon-gbp:before{content:"\f154"}.uk-icon-dollar:before,.uk-icon-usd:before{content:"\f155"}.uk-icon-inr:before,.uk-icon-rupee:before{content:"\f156"}.uk-icon-cny:before,.uk-icon-jpy:before,.uk-icon-rmb:before,.uk-icon-yen:before{content:"\f157"}.uk-icon-rouble:before,.uk-icon-rub:before,.uk-icon-ruble:before{content:"\f158"}.uk-icon-krw:before,.uk-icon-won:before{content:"\f159"}.uk-icon-bitcoin:before,.uk-icon-btc:before{content:"\f15a"}.uk-icon-file:before{content:"\f15b"}.uk-icon-file-text:before{content:"\f15c"}.uk-icon-sort-alpha-asc:before{content:"\f15d"}.uk-icon-sort-alpha-desc:before{content:"\f15e"}.uk-icon-sort-amount-asc:before{content:"\f160"}.uk-icon-sort-amount-desc:before{content:"\f161"}.uk-icon-sort-numeric-asc:before{content:"\f162"}.uk-icon-sort-numeric-desc:before{content:"\f163"}.uk-icon-thumbs-up:before{content:"\f164"}.uk-icon-thumbs-down:before{content:"\f165"}.uk-icon-youtube-square:before{content:"\f166"}.uk-icon-youtube:before{content:"\f167"}.uk-icon-xing:before{content:"\f168"}.uk-icon-xing-square:before{content:"\f169"}.uk-icon-youtube-play:before{content:"\f16a"}.uk-icon-dropbox:before{content:"\f16b"}.uk-icon-stack-overflow:before{content:"\f16c"}.uk-icon-instagram:before{content:"\f16d"}.uk-icon-flickr:before{content:"\f16e"}.uk-icon-adn:before{content:"\f170"}.uk-icon-bitbucket:before{content:"\f171"}.uk-icon-bitbucket-square:before{content:"\f172"}.uk-icon-tumblr:before{content:"\f173"}.uk-icon-tumblr-square:before{content:"\f174"}.uk-icon-long-arrow-down:before{content:"\f175"}.uk-icon-long-arrow-up:before{content:"\f176"}.uk-icon-long-arrow-left:before{content:"\f177"}.uk-icon-long-arrow-right:before{content:"\f178"}.uk-icon-apple:before{content:"\f179"}.uk-icon-windows:before{content:"\f17a"}.uk-icon-android:before{content:"\f17b"}.uk-icon-linux:before{content:"\f17c"}.uk-icon-dribbble:before{content:"\f17d"}.uk-icon-skype:before{content:"\f17e"}.uk-icon-foursquare:before{content:"\f180"}.uk-icon-trello:before{content:"\f181"}.uk-icon-female:before{content:"\f182"}.uk-icon-male:before{content:"\f183"}.uk-icon-gittip:before,.uk-icon-gratipay:before{content:"\f184"}.uk-icon-sun-o:before{content:"\f185"}.uk-icon-moon-o:before{content:"\f186"}.uk-icon-archive:before{content:"\f187"}.uk-icon-bug:before{content:"\f188"}.uk-icon-vk:before{content:"\f189"}.uk-icon-weibo:before{content:"\f18a"}.uk-icon-renren:before{content:"\f18b"}.uk-icon-pagelines:before{content:"\f18c"}.uk-icon-stack-exchange:before{content:"\f18d"}.uk-icon-arrow-circle-o-right:before{content:"\f18e"}.uk-icon-arrow-circle-o-left:before{content:"\f190"}.uk-icon-caret-square-o-left:before,.uk-icon-toggle-left:before{content:"\f191"}.uk-icon-dot-circle-o:before{content:"\f192"}.uk-icon-wheelchair:before{content:"\f193"}.uk-icon-vimeo-square:before{content:"\f194"}.uk-icon-try:before,.uk-icon-turkish-lira:before{content:"\f195"}.uk-icon-plus-square-o:before{content:"\f196"}.uk-icon-space-shuttle:before{content:"\f197"}.uk-icon-slack:before{content:"\f198"}.uk-icon-envelope-square:before{content:"\f199"}.uk-icon-wordpress:before{content:"\f19a"}.uk-icon-openid:before{content:"\f19b"}.uk-icon-bank:before,.uk-icon-institution:before,.uk-icon-university:before{content:"\f19c"}.uk-icon-graduation-cap:before,.uk-icon-mortar-board:before{content:"\f19d"}.uk-icon-yahoo:before{content:"\f19e"}.uk-icon-google:before{content:"\f1a0"}.uk-icon-reddit:before{content:"\f1a1"}.uk-icon-reddit-square:before{content:"\f1a2"}.uk-icon-stumbleupon-circle:before{content:"\f1a3"}.uk-icon-stumbleupon:before{content:"\f1a4"}.uk-icon-delicious:before{content:"\f1a5"}.uk-icon-digg:before{content:"\f1a6"}.uk-icon-pied-piper:before{content:"\f1a7"}.uk-icon-pied-piper-alt:before{content:"\f1a8"}.uk-icon-drupal:before{content:"\f1a9"}.uk-icon-joomla:before{content:"\f1aa"}.uk-icon-language:before{content:"\f1ab"}.uk-icon-fax:before{content:"\f1ac"}.uk-icon-building:before{content:"\f1ad"}.uk-icon-child:before{content:"\f1ae"}.uk-icon-paw:before{content:"\f1b0"}.uk-icon-spoon:before{content:"\f1b1"}.uk-icon-cube:before{content:"\f1b2"}.uk-icon-cubes:before{content:"\f1b3"}.uk-icon-behance:before{content:"\f1b4"}.uk-icon-behance-square:before{content:"\f1b5"}.uk-icon-steam:before{content:"\f1b6"}.uk-icon-steam-square:before{content:"\f1b7"}.uk-icon-recycle:before{content:"\f1b8"}.uk-icon-automobile:before,.uk-icon-car:before{content:"\f1b9"}.uk-icon-cab:before,.uk-icon-taxi:before{content:"\f1ba"}.uk-icon-tree:before{content:"\f1bb"}.uk-icon-spotify:before{content:"\f1bc"}.uk-icon-deviantart:before{content:"\f1bd"}.uk-icon-soundcloud:before{content:"\f1be"}.uk-icon-database:before{content:"\f1c0"}.uk-icon-file-pdf-o:before{content:"\f1c1"}.uk-icon-file-word-o:before{content:"\f1c2"}.uk-icon-file-excel-o:before{content:"\f1c3"}.uk-icon-file-powerpoint-o:before{content:"\f1c4"}.uk-icon-file-image-o:before,.uk-icon-file-photo-o:before,.uk-icon-file-picture-o:before{content:"\f1c5"}.uk-icon-file-archive-o:before,.uk-icon-file-zip-o:before{content:"\f1c6"}.uk-icon-file-audio-o:before,.uk-icon-file-sound-o:before{content:"\f1c7"}.uk-icon-file-movie-o:before,.uk-icon-file-video-o:before{content:"\f1c8"}.uk-icon-file-code-o:before{content:"\f1c9"}.uk-icon-vine:before{content:"\f1ca"}.uk-icon-codepen:before{content:"\f1cb"}.uk-icon-jsfiddle:before{content:"\f1cc"}.uk-icon-life-bouy:before,.uk-icon-life-buoy:before,.uk-icon-life-ring:before,.uk-icon-life-saver:before,.uk-icon-support:before{content:"\f1cd"}.uk-icon-circle-o-notch:before{content:"\f1ce"}.uk-icon-ra:before,.uk-icon-rebel:before{content:"\f1d0"}.uk-icon-empire:before,.uk-icon-ge:before{content:"\f1d1"}.uk-icon-git-square:before{content:"\f1d2"}.uk-icon-git:before{content:"\f1d3"}.uk-icon-hacker-news:before{content:"\f1d4"}.uk-icon-tencent-weibo:before{content:"\f1d5"}.uk-icon-qq:before{content:"\f1d6"}.uk-icon-wechat:before,.uk-icon-weixin:before{content:"\f1d7"}.uk-icon-paper-plane:before,.uk-icon-send:before{content:"\f1d8"}.uk-icon-paper-plane-o:before,.uk-icon-send-o:before{content:"\f1d9"}.uk-icon-history:before{content:"\f1da"}.uk-icon-circle-thin:before,.uk-icon-genderless:before{content:"\f1db"}.uk-icon-header:before{content:"\f1dc"}.uk-icon-paragraph:before{content:"\f1dd"}.uk-icon-sliders:before{content:"\f1de"}.uk-icon-share-alt:before{content:"\f1e0"}.uk-icon-share-alt-square:before{content:"\f1e1"}.uk-icon-bomb:before{content:"\f1e2"}.uk-icon-futbol-o:before,.uk-icon-soccer-ball-o:before{content:"\f1e3"}.uk-icon-tty:before{content:"\f1e4"}.uk-icon-binoculars:before{content:"\f1e5"}.uk-icon-plug:before{content:"\f1e6"}.uk-icon-slideshare:before{content:"\f1e7"}.uk-icon-twitch:before{content:"\f1e8"}.uk-icon-yelp:before{content:"\f1e9"}.uk-icon-newspaper-o:before{content:"\f1ea"}.uk-icon-wifi:before{content:"\f1eb"}.uk-icon-calculator:before{content:"\f1ec"}.uk-icon-paypal:before{content:"\f1ed"}.uk-icon-google-wallet:before{content:"\f1ee"}.uk-icon-cc-visa:before{content:"\f1f0"}.uk-icon-cc-mastercard:before{content:"\f1f1"}.uk-icon-cc-discover:before{content:"\f1f2"}.uk-icon-cc-amex:before{content:"\f1f3"}.uk-icon-cc-paypal:before{content:"\f1f4"}.uk-icon-cc-stripe:before{content:"\f1f5"}.uk-icon-bell-slash:before{content:"\f1f6"}.uk-icon-bell-slash-o:before{content:"\f1f7"}.uk-icon-trash:before{content:"\f1f8"}.uk-icon-copyright:before{content:"\f1f9"}.uk-icon-at:before{content:"\f1fa"}.uk-icon-eyedropper:before{content:"\f1fb"}.uk-icon-paint-brush:before{content:"\f1fc"}.uk-icon-birthday-cake:before{content:"\f1fd"}.uk-icon-area-chart:before{content:"\f1fe"}.uk-icon-pie-chart:before{content:"\f200"}.uk-icon-line-chart:before{content:"\f201"}.uk-icon-lastfm:before{content:"\f202"}.uk-icon-lastfm-square:before{content:"\f203"}.uk-icon-toggle-off:before{content:"\f204"}.uk-icon-toggle-on:before{content:"\f205"}.uk-icon-bicycle:before{content:"\f206"}.uk-icon-bus:before{content:"\f207"}.uk-icon-ioxhost:before{content:"\f208"}.uk-icon-angellist:before{content:"\f209"}.uk-icon-cc:before{content:"\f20a"}.uk-icon-ils:before,.uk-icon-shekel:before,.uk-icon-sheqel:before{content:"\f20b"}.uk-icon-meanpath:before{content:"\f20c"}.uk-icon-buysellads:before{content:"\f20d"}.uk-icon-connectdevelop:before{content:"\f20e"}.uk-icon-dashcube:before{content:"\f210"}.uk-icon-forumbee:before{content:"\f211"}.uk-icon-leanpub:before{content:"\f212"}.uk-icon-sellsy:before{content:"\f213"}.uk-icon-shirtsinbulk:before{content:"\f214"}.uk-icon-simplybuilt:before{content:"\f215"}.uk-icon-skyatlas:before{content:"\f216"}.uk-icon-cart-plus:before{content:"\f217"}.uk-icon-cart-arrow-down:before{content:"\f218"}.uk-icon-diamond:before{content:"\f219"}.uk-icon-ship:before{content:"\f21a"}.uk-icon-user-secret:before{content:"\f21b"}.uk-icon-motorcycle:before{content:"\f21c"}.uk-icon-street-view:before{content:"\f21d"}.uk-icon-heartbeat:before{content:"\f21e"}.uk-icon-venus:before{content:"\f221"}.uk-icon-mars:before{content:"\f222"}.uk-icon-mercury:before{content:"\f223"}.uk-icon-transgender:before{content:"\f224"}.uk-icon-transgender-alt:before{content:"\f225"}.uk-icon-venus-double:before{content:"\f226"}.uk-icon-mars-double:before{content:"\f227"}.uk-icon-venus-mars:before{content:"\f228"}.uk-icon-mars-stroke:before{content:"\f229"}.uk-icon-mars-stroke-v:before{content:"\f22a"}.uk-icon-mars-stroke-h:before{content:"\f22b"}.uk-icon-neuter:before{content:"\f22c"}.uk-icon-facebook-official:before{content:"\f230"}.uk-icon-pinterest-p:before{content:"\f231"}.uk-icon-whatsapp:before{content:"\f232"}.uk-icon-server:before{content:"\f233"}.uk-icon-user-plus:before{content:"\f234"}.uk-icon-user-times:before{content:"\f235"}.uk-icon-bed:before,.uk-icon-hotel:before{content:"\f236"}.uk-icon-viacoin:before{content:"\f237"}.uk-icon-train:before{content:"\f238"}.uk-icon-subway:before{content:"\f239"}.uk-icon-medium-logo:before{content:"\f23a"}.uk-icon-500px:before{content:"\f26e"}.uk-icon-amazon:before{content:"\f270"}.uk-icon-balance-scale:before{content:"\f24e"}.uk-icon-battery-0:before,.uk-icon-battery-empty:before{content:"\f244"}.uk-icon-battery-1:before,.uk-icon-battery-quarter:before{content:"\f243"}.uk-icon-battery-2:before,.uk-icon-battery-half:before{content:"\f242"}.uk-icon-battery-3:before,.uk-icon-battery-three-quarters:before{content:"\f241"}.uk-icon-battery-4:before,.uk-icon-battery-full:before{content:"\f240"}.uk-icon-black-tie:before{content:"\f27e"}.uk-icon-calendar-check-o:before{content:"\f274"}.uk-icon-calendar-minus-o:before{content:"\f272"}.uk-icon-calendar-plus-o:before{content:"\f271"}.uk-icon-calendar-times-o:before{content:"\f273"}.uk-icon-cc-diners-club:before{content:"\f24c"}.uk-icon-cc-jcb:before{content:"\f24b"}.uk-icon-chrome:before{content:"\f268"}.uk-icon-clone:before{content:"\f24d"}.uk-icon-commenting:before{content:"\f27a"}.uk-icon-commenting-o:before{content:"\f27b"}.uk-icon-contao:before{content:"\f26d"}.uk-icon-creative-commons:before{content:"\f25e"}.uk-icon-expeditedssl:before{content:"\f23e"}.uk-icon-firefox:before{content:"\f269"}.uk-icon-fonticons:before{content:"\f280"}.uk-icon-get-pocket:before{content:"\f265"}.uk-icon-gg:before{content:"\f260"}.uk-icon-gg-circle:before{content:"\f261"}.uk-icon-hand-lizard-o:before{content:"\f258"}.uk-icon-hand-paper-o:before,.uk-icon-hand-stop-o:before{content:"\f256"}.uk-icon-hand-peace-o:before{content:"\f25b"}.uk-icon-hand-pointer-o:before{content:"\f25a"}.uk-icon-hand-grab-o:before,.uk-icon-hand-rock-o:before{content:"\f255"}.uk-icon-hand-scissors-o:before{content:"\f257"}.uk-icon-hand-spock-o:before{content:"\f259"}.uk-icon-hourglass:before{content:"\f254"}.uk-icon-hourglass-o:before{content:"\f250"}.uk-icon-hourglass-1:before,.uk-icon-hourglass-start:before{content:"\f251"}.uk-icon-hourglass-2:before,.uk-icon-hourglass-half:before{content:"\f252"}.uk-icon-hourglass-3:before,.uk-icon-hourglass-end:before{content:"\f253"}.uk-icon-houzz:before{content:"\f27c"}.uk-icon-i-cursor:before{content:"\f246"}.uk-icon-industry:before{content:"\f275"}.uk-icon-internet-explorer:before{content:"\f26b"}.uk-icon-map:before{content:"\f279"}.uk-icon-map-o:before{content:"\f278"}.uk-icon-map-pin:before{content:"\f276"}.uk-icon-map-signs:before{content:"\f277"}.uk-icon-mouse-pointer:before{content:"\f245"}.uk-icon-object-group:before{content:"\f247"}.uk-icon-object-ungroup:before{content:"\f248"}.uk-icon-odnoklassniki:before{content:"\f263"}.uk-icon-odnoklassniki-square:before{content:"\f264"}.uk-icon-opencart:before{content:"\f23d"}.uk-icon-opera:before{content:"\f26a"}.uk-icon-optin-monster:before{content:"\f23c"}.uk-icon-registered:before{content:"\f25d"}.uk-icon-safari:before{content:"\f267"}.uk-icon-sticky-note:before{content:"\f249"}.uk-icon-sticky-note-o:before{content:"\f24a"}.uk-icon-television:before,.uk-icon-tv:before{content:"\f26c"}.uk-icon-trademark:before{content:"\f25c"}.uk-icon-tripadvisor:before{content:"\f262"}.uk-icon-vimeo:before{content:"\f27d"}.uk-icon-wikipedia-w:before{content:"\f266"}.uk-icon-y-combinator:before,.uk-icon-yc:before{content:"\f23b"}.uk-icon-y-combinator-square:before,.uk-icon-yc-square:before{content:"\f1d4"}.uk-icon-bluetooth:before{content:"\f293"}.uk-icon-bluetooth-b:before{content:"\f294"}.uk-icon-codiepie:before{content:"\f284"}.uk-icon-credit-card-alt:before{content:"\f283"}.uk-icon-edge:before{content:"\f282"}.uk-icon-fort-awesome:before{content:"\f286"}.uk-icon-hashtag:before{content:"\f292"}.uk-icon-mixcloud:before{content:"\f289"}.uk-icon-modx:before{content:"\f285"}.uk-icon-pause-circle:before{content:"\f28b"}.uk-icon-pause-circle-o:before{content:"\f28c"}.uk-icon-percent:before{content:"\f295"}.uk-icon-product-hunt:before{content:"\f288"}.uk-icon-reddit-alien:before{content:"\f281"}.uk-icon-scribd:before{content:"\f28a"}.uk-icon-shopping-bag:before{content:"\f290"}.uk-icon-shopping-basket:before{content:"\f291"}.uk-icon-stop-circle:before{content:"\f28d"}.uk-icon-stop-circle-o:before{content:"\f28e"}.uk-icon-usb:before{content:"\f287"}.uk-close::-moz-focus-inner{border:0;padding:0}.uk-close{border:none;font:inherit;color:inherit;padding:0;background:0 0;box-sizing:content-box;width:20px;line-height:20px}.uk-close:after{display:block}.uk-close:focus,.uk-close:hover{outline:0;color:inherit;text-decoration:none;cursor:pointer}.uk-badge,a.uk-badge:hover{color:#fff}.uk-close-alt{padding:2px;border-radius:50%;background:#eee;opacity:1}.uk-close-alt:after{opacity:.5}.uk-close-alt:focus:after,.uk-close-alt:hover:after{opacity:.8}.uk-badge{display:inline-block;text-align:center}.uk-badge-notification{box-sizing:border-box;min-width:18px;font-size:12px;line-height:18px}.uk-badge-success{background-color:#8cc14c}.uk-badge-warning{background-color:#faa732}.uk-badge-danger{background-color:#da314b}.uk-alert{margin-bottom:15px;padding:10px}*+.uk-alert{margin-top:15px}.uk-alert>:last-child{margin-bottom:0}.uk-alert h1,.uk-alert h2,.uk-alert h3,.uk-alert h4,.uk-alert h5,.uk-alert h6{color:inherit}.uk-alert>.uk-close:first-child+*{margin-top:0}.uk-alert-success{color:#659f13}.uk-alert-warning{color:#e28327}.uk-alert-danger{color:#d85030}.uk-alert-large>.uk-close:first-child{margin:-10px -10px 0 0}.uk-overlay,.uk-thumbnail{margin:0;display:inline-block;max-width:100%}.uk-overlay-area-content>:last-child,.uk-overlay-panel.uk-flex>*>:last-child,.uk-overlay-panel>:last-child,.uk-overlay>:first-child{margin-bottom:0}.uk-thumbnail{box-sizing:border-box;padding:4px;border:1px solid #ddd;background:#fff}a.uk-thumbnail:focus,a.uk-thumbnail:hover{border-color:#aaa;background-color:#fff;text-decoration:none;outline:0}.uk-thumbnail-caption{padding-top:4px;text-align:center}.uk-thumbnail-mini{width:150px}.uk-thumbnail-small{width:200px}.uk-thumbnail-medium{width:300px}.uk-thumbnail-large{width:400px}.uk-thumbnail-expand,.uk-thumbnail-expand>img{width:100%}.uk-overlay{position:relative;overflow:hidden;-webkit-transform:translateZ(0)}.uk-overlay-area:empty:before,.uk-overlay-icon:before{content:"\f002";width:50px;height:50px;margin-top:-25px;margin-left:-25px;font-size:50px;line-height:1;text-align:center;font-family:FontAwesome}.uk-overlay.uk-border-circle{-webkit-mask-image:-webkit-radial-gradient(circle,#fff 100%,#000 100%)}.uk-overlay-panel{position:absolute;top:0;bottom:0;left:0;right:0;padding:20px;color:#fff}.uk-overlay-panel a[class*=uk-icon-]:not(.uk-icon-button),.uk-overlay-panel h1,.uk-overlay-panel h2,.uk-overlay-panel h3,.uk-overlay-panel h4,.uk-overlay-panel h5,.uk-overlay-panel h6{color:inherit}.uk-overlay-panel a:not([class]){color:inherit;text-decoration:underline}.uk-overlay-active :not(.uk-active)>.uk-overlay-panel:not(.uk-ignore),.uk-overlay-hover:not(:hover):not(.uk-hover) .uk-overlay-panel:not(.uk-ignore){opacity:0}.uk-overlay-background{background:rgba(0,0,0,.5)}.uk-overlay-image{padding:0}.uk-overlay-top{bottom:auto}.uk-overlay-bottom{top:auto}.uk-overlay-left{right:auto}.uk-overlay-right{left:auto}.uk-overlay-icon:before{position:absolute;top:50%;left:50%;color:#fff}.uk-overlay-blur,.uk-overlay-fade,.uk-overlay-grayscale,.uk-overlay-scale,.uk-overlay-spin,[class*=uk-overlay-slide]{transition-duration:.3s;transition-timing-function:ease-out;transition-property:opacity,transform,filter}.uk-overlay-active .uk-overlay-fade,.uk-overlay-active .uk-overlay-scale,.uk-overlay-active .uk-overlay-spin,.uk-overlay-active [class*=uk-overlay-slide]{transition-duration:.8s}.uk-overlay-fade{opacity:.7}.uk-overlay-active .uk-active>.uk-overlay-fade,.uk-overlay-hover.uk-hover .uk-overlay-fade,.uk-overlay-hover:hover .uk-overlay-fade{opacity:1}.uk-overlay-scale{-webkit-transform:scale(1);transform:scale(1)}.uk-overlay-active .uk-active>.uk-overlay-scale,.uk-overlay-hover.uk-hover .uk-overlay-scale,.uk-overlay-hover:hover .uk-overlay-scale{-webkit-transform:scale(1.1);transform:scale(1.1)}.uk-overlay-spin{-webkit-transform:scale(1) rotate(0);transform:scale(1) rotate(0)}.uk-overlay-active .uk-active>.uk-overlay-spin,.uk-overlay-hover.uk-hover .uk-overlay-spin,.uk-overlay-hover:hover .uk-overlay-spin{-webkit-transform:scale(1.1) rotate(3deg);transform:scale(1.1) rotate(3deg)}.uk-overlay-grayscale{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.uk-overlay-active .uk-active>.uk-overlay-grayscale,.uk-overlay-hover.uk-hover .uk-overlay-grayscale,.uk-overlay-hover:hover .uk-overlay-grayscale{-webkit-filter:grayscale(0);filter:grayscale(0)}[class*=uk-overlay-slide]{opacity:0}.uk-overlay-slide-top{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.uk-overlay-slide-bottom{-webkit-transform:translateY(100%);transform:translateY(100%)}.uk-overlay-slide-left{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.uk-overlay-slide-right{-webkit-transform:translateX(100%);transform:translateX(100%)}.uk-overlay-active .uk-active>[class*=uk-overlay-slide],.uk-overlay-hover.uk-hover [class*=uk-overlay-slide],.uk-overlay-hover:hover [class*=uk-overlay-slide]{opacity:1;-webkit-transform:translateX(0) translateY(0);transform:translateX(0) translateY(0)}.uk-overlay-area,.uk-overlay-caption{-webkit-transform:translate3d(0,0,0);position:absolute;right:0;bottom:0}.uk-overlay-area{top:0;left:0;background:rgba(0,0,0,.3);opacity:0;transition:opacity .15s linear}.uk-overlay-toggle.uk-hover .uk-overlay-area,.uk-overlay-toggle:hover .uk-overlay-area,.uk-overlay.uk-hover .uk-overlay-area,.uk-overlay:hover .uk-overlay-area{opacity:1}.uk-overlay-area:empty:before{position:absolute;top:50%;left:50%;color:#fff}.uk-overlay-area:not(:empty){font-size:0}.uk-overlay-area:not(:empty):before{content:'';display:inline-block;height:100%;vertical-align:middle}.uk-overlay-area-content{display:inline-block;box-sizing:border-box;width:100%;font-size:1rem;text-align:center;padding:0 15px;color:#fff}.uk-overlay-area-content a:not([class]),.uk-overlay-area-content a:not([class]):hover{color:inherit}.uk-overlay-caption{left:0;padding:15px;background:rgba(0,0,0,.5);color:#fff;opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.uk-overlay-toggle.uk-hover .uk-overlay-caption,.uk-overlay-toggle:hover .uk-overlay-caption,.uk-overlay.uk-hover .uk-overlay-caption,.uk-overlay:hover .uk-overlay-caption{opacity:1}[class*=uk-column-]{-webkit-column-gap:25px;-moz-column-gap:25px;column-gap:25px}.uk-column-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}@media (min-width:480px){.uk-column-small-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-small-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-small-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-small-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-small-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}}@media (min-width:768px){.uk-column-medium-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-medium-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-medium-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-medium-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-medium-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}}@media (min-width:960px){.uk-column-large-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-large-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-large-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-large-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-large-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}}[class*=uk-animation-]{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}@media screen{[data-uk-scrollspy*=uk-animation-]:not([data-uk-scrollspy*=target]){opacity:0}}.uk-animation-fade{-webkit-animation-name:uk-fade;animation-name:uk-fade;-webkit-animation-duration:.8s;animation-duration:.8s;-webkit-animation-timing-function:linear!important;animation-timing-function:linear!important}.uk-animation-scale-up{-webkit-animation-name:uk-fade-scale-02;animation-name:uk-fade-scale-02}.uk-animation-scale-down{-webkit-animation-name:uk-fade-scale-18;animation-name:uk-fade-scale-18}.uk-animation-slide-top{-webkit-animation-name:uk-fade-top;animation-name:uk-fade-top}.uk-animation-slide-bottom{-webkit-animation-name:uk-fade-bottom;animation-name:uk-fade-bottom}.uk-animation-slide-left{-webkit-animation-name:uk-fade-left;animation-name:uk-fade-left}.uk-animation-slide-right{-webkit-animation-name:uk-fade-right;animation-name:uk-fade-right}.uk-animation-scale{-webkit-animation-name:uk-scale-12;animation-name:uk-scale-12}.uk-animation-shake{-webkit-animation-name:uk-shake;animation-name:uk-shake}.uk-animation-reverse{-webkit-animation-direction:reverse;animation-direction:reverse;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}.uk-animation-15{-webkit-animation-duration:15s;animation-duration:15s}.uk-animation-top-left{-webkit-transform-origin:0 0;transform-origin:0 0}.uk-animation-top-center{-webkit-transform-origin:50% 0;transform-origin:50% 0}.uk-animation-top-right{-webkit-transform-origin:100% 0;transform-origin:100% 0}.uk-animation-middle-left{-webkit-transform-origin:0 50%;transform-origin:0 50%}.uk-animation-middle-right{-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.uk-animation-bottom-left{-webkit-transform-origin:0 100%;transform-origin:0 100%}.uk-animation-bottom-center{-webkit-transform-origin:50% 100%;transform-origin:50% 100%}.uk-animation-bottom-right{-webkit-transform-origin:100% 100%;transform-origin:100% 100%}.uk-animation-hover:not(:hover),.uk-animation-hover:not(:hover) [class*=uk-animation-],.uk-touch .uk-animation-hover:not(.uk-hover),.uk-touch .uk-animation-hover:not(.uk-hover) [class*=uk-animation-]{-webkit-animation-name:none;animation-name:none}@-webkit-keyframes uk-fade{0%{opacity:0}100%{opacity:1}}@keyframes uk-fade{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes uk-fade-top{0%{opacity:0;-webkit-transform:translateY(-100%)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-fade-top{0%{opacity:0;transform:translateY(-100%)}100%{opacity:1;transform:translateY(0)}}@-webkit-keyframes uk-fade-bottom{0%{opacity:0;-webkit-transform:translateY(100%)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-fade-bottom{0%{opacity:0;transform:translateY(100%)}100%{opacity:1;transform:translateY(0)}}@-webkit-keyframes uk-fade-left{0%{opacity:0;-webkit-transform:translateX(-100%)}100%{opacity:1;-webkit-transform:translateX(0)}}@keyframes uk-fade-left{0%{opacity:0;transform:translateX(-100%)}100%{opacity:1;transform:translateX(0)}}@-webkit-keyframes uk-fade-right{0%{opacity:0;-webkit-transform:translateX(100%)}100%{opacity:1;-webkit-transform:translateX(0)}}@keyframes uk-fade-right{0%{opacity:0;transform:translateX(100%)}100%{opacity:1;transform:translateX(0)}}@-webkit-keyframes uk-fade-scale-02{0%{opacity:0;-webkit-transform:scale(.2)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes uk-fade-scale-02{0%{opacity:0;transform:scale(.2)}100%{opacity:1;transform:scale(1)}}@-webkit-keyframes uk-fade-scale-15{0%{opacity:0;-webkit-transform:scale(1.5)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes uk-fade-scale-15{0%{opacity:0;transform:scale(1.5)}100%{opacity:1;transform:scale(1)}}@-webkit-keyframes uk-fade-scale-18{0%{opacity:0;-webkit-transform:scale(1.8)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes uk-fade-scale-18{0%{opacity:0;transform:scale(1.8)}100%{opacity:1;transform:scale(1)}}@-webkit-keyframes uk-slide-left{0%{-webkit-transform:translateX(-100%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-left{0%{transform:translateX(-100%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-slide-right{0%{-webkit-transform:translateX(100%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-right{0%{transform:translateX(100%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-slide-left-33{0%{-webkit-transform:translateX(33%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-left-33{0%{transform:translateX(33%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-slide-right-33{0%{-webkit-transform:translateX(-33%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-right-33{0%{transform:translateX(-33%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-scale-12{0%{-webkit-transform:scale(1.2)}100%{-webkit-transform:scale(1)}}@keyframes uk-scale-12{0%{transform:scale(1.2)}100%{transform:scale(1)}}@-webkit-keyframes uk-rotate{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(359deg)}}@keyframes uk-rotate{0%{transform:rotate(0)}100%{transform:rotate(359deg)}}@-webkit-keyframes uk-shake{0%,100%{-webkit-transform:translateX(0)}10%{-webkit-transform:translateX(-9px)}20%{-webkit-transform:translateX(8px)}30%{-webkit-transform:translateX(-7px)}40%{-webkit-transform:translateX(6px)}50%{-webkit-transform:translateX(-5px)}60%{-webkit-transform:translateX(4px)}70%{-webkit-transform:translateX(-3px)}80%{-webkit-transform:translateX(2px)}90%{-webkit-transform:translateX(-1px)}}@keyframes uk-shake{0%,100%{transform:translateX(0)}10%{transform:translateX(-9px)}20%{transform:translateX(8px)}30%{transform:translateX(-7px)}40%{transform:translateX(6px)}50%{transform:translateX(-5px)}60%{transform:translateX(4px)}70%{transform:translateX(-3px)}80%{transform:translateX(2px)}90%{transform:translateX(-1px)}}@-webkit-keyframes uk-slide-top-fixed{0%{opacity:0;-webkit-transform:translateY(-10px)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-slide-top-fixed{0%{opacity:0;transform:translateY(-10px)}100%{opacity:1;transform:translateY(0)}}@-webkit-keyframes uk-slide-bottom-fixed{0%{opacity:0;-webkit-transform:translateY(10px)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-slide-bottom-fixed{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:translateY(0)}}.uk-dropdown,.uk-dropdown-blank{display:none;position:absolute;z-index:1020;box-sizing:border-box;width:200px}.uk-dropdown{padding:15px;background:#f5f5f5;color:#444;font-size:1rem;vertical-align:top}.uk-open>.uk-dropdown,.uk-open>.uk-dropdown-blank{display:block;-webkit-animation:uk-fade .2s ease-in-out;animation:uk-fade .2s ease-in-out;-webkit-transform-origin:0 0;transform-origin:0 0}.uk-dropdown-top{margin-top:-5px}.uk-dropdown-bottom{margin-top:5px}.uk-dropdown-left{margin-left:-5px}.uk-dropdown-right{margin-left:5px}.uk-dropdown .uk-nav{margin:0 -15px}.uk-dropdown-grid>[class*=uk-width-]>.uk-panel+.uk-panel,.uk-dropdown-stack>.uk-dropdown-grid>[class*=uk-width-]:nth-child(n+2),.uk-grid .uk-dropdown-grid+.uk-dropdown-grid{margin-top:15px}@media (min-width:768px){.uk-dropdown:not(.uk-dropdown-stack)>.uk-dropdown-grid{margin-left:-15px;margin-right:-15px}.uk-dropdown:not(.uk-dropdown-stack)>.uk-dropdown-grid>[class*=uk-width-]{padding-left:15px;padding-right:15px}.uk-dropdown:not(.uk-dropdown-stack)>.uk-dropdown-grid>[class*=uk-width-]:nth-child(n+2){border-left:1px solid #ddd}.uk-dropdown-width-2:not(.uk-dropdown-stack){width:400px}.uk-dropdown-width-3:not(.uk-dropdown-stack){width:600px}.uk-dropdown-width-4:not(.uk-dropdown-stack){width:800px}.uk-dropdown-width-5:not(.uk-dropdown-stack){width:1000px}}@media (max-width:767px){.uk-dropdown-grid>[class*=uk-width-]{width:100%}.uk-dropdown-grid>[class*=uk-width-]:nth-child(n+2){margin-top:15px}}.uk-dropdown-stack>.uk-dropdown-grid>[class*=uk-width-]{width:100%}.uk-dropdown-small{min-width:150px;width:auto;padding:5px;white-space:nowrap}.uk-dropdown-small .uk-nav{margin:0 -5px}.uk-dropdown-navbar{margin-top:0;background:#f5f5f5;color:#444}.uk-open>.uk-dropdown-navbar{-webkit-animation:uk-slide-top-fixed .2s ease-in-out;animation:uk-slide-top-fixed .2s ease-in-out}.uk-dropdown-scrollable{overflow-y:auto;max-height:200px}.uk-modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:auto;-webkit-overflow-scrolling:touch;opacity:0;touch-action:cross-slide-y pinch-zoom double-tap-zoom;-webkit-transform:translateZ(0);transform:translateZ(0)}.uk-modal.uk-open{opacity:1}.uk-modal-page,.uk-modal-page body{overflow:hidden}.uk-modal-dialog{position:relative;box-sizing:border-box;margin:50px auto;width:600px;max-width:100%;max-width:calc(100% - 20px);background:#fff;opacity:0;-webkit-transform:translateY(-100px);transform:translateY(-100px)}@media (max-width:767px){.uk-modal-dialog{width:auto;margin:10px auto}.uk-modal-dialog-lightbox>.uk-close:first-child{top:-7px;right:-7px}}.uk-open .uk-modal-dialog{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}.uk-modal-dialog>:not([class*=uk-modal-]):last-child{margin-bottom:0}.uk-modal-dialog>.uk-close:first-child+:not([class*=uk-modal-]){margin-top:0}.uk-modal-dialog-lightbox{margin:15px auto;max-width:95%;max-width:calc(100% - 30px)}.uk-modal-dialog-lightbox>.uk-close:first-child{position:absolute;margin:0;float:none}.uk-modal-dialog-blank{margin:0;padding:0;width:100%;max-width:100%;-webkit-transition:opacity .3s linear;transition:opacity .3s linear}.uk-modal-dialog-blank>.uk-close:first-child{position:absolute;top:20px;right:20px;z-index:1;margin:0;float:none}@media (min-width:768px){.uk-modal-dialog-large{width:930px}}@media (min-width:1220px){.uk-column-xlarge-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-xlarge-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-xlarge-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-xlarge-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-xlarge-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}.uk-modal-dialog-large{width:1130px}}.uk-modal-header{margin-bottom:15px}.uk-modal-footer{margin-top:15px}.uk-modal-footer>:last-child,.uk-modal-header>:last-child{margin-bottom:0}.uk-modal-caption{position:absolute;left:0;right:0;bottom:-20px;margin-bottom:-10px;color:#fff;text-align:center;overflow:hidden}.uk-modal-spinner{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);font-size:25px;color:#ddd}.uk-offcanvas,.uk-offcanvas-bar{position:fixed;left:0;top:0;bottom:0}.uk-modal-spinner:after{content:"\f110";font-family:FontAwesome;-webkit-animation:uk-rotate 2s infinite linear;animation:uk-rotate 2s infinite linear}.uk-clearfix:after,.uk-clearfix:before,.uk-container:after,.uk-container:before{content:""}.uk-offcanvas{display:none;right:0;z-index:1000;touch-action:none;background:rgba(0,0,0,.1)}.uk-offcanvas.uk-active{display:block}.uk-offcanvas-page{position:fixed;-webkit-transition:margin-left .3s ease-in-out;transition:margin-left .3s ease-in-out}.uk-offcanvas-bar{-webkit-transform:translateX(-100%);transform:translateX(-100%);z-index:1001;width:270px;max-width:100%;background:#333;overflow-y:auto;-webkit-overflow-scrolling:touch;-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;-ms-scroll-chaining:none}.uk-nbfc,.uk-text-truncate{overflow:hidden}.uk-offcanvas.uk-active .uk-offcanvas-bar.uk-offcanvas-bar-show{-webkit-transform:translateX(0);transform:translateX(0)}.uk-offcanvas-bar-flip{left:auto;right:0;-webkit-transform:translateX(100%);transform:translateX(100%)}.uk-offcanvas .uk-panel{margin:20px 15px;color:#777}.uk-offcanvas .uk-panel a:not([class]),.uk-offcanvas .uk-panel-title{color:#ccc}.uk-offcanvas .uk-panel a:not([class]):hover{color:#fff}.uk-switcher{margin:0;padding:0;list-style:none;touch-action:cross-slide-y pinch-zoom double-tap-zoom}.uk-margin,[class*=uk-align-]{margin-bottom:15px}.uk-switcher>:not(.uk-active){display:none}.uk-text-small{line-height:16px}.uk-text-large{font-size:18px;line-height:24px;font-weight:400}.uk-text-bold{font-weight:700}.uk-text-contrast{color:#fff!important}.uk-text-left{text-align:left!important}.uk-text-right{text-align:right!important}.uk-text-center{text-align:center!important}.uk-text-justify{text-align:justify!important}.uk-text-top{vertical-align:top!important}.uk-text-middle{vertical-align:middle!important}.uk-text-bottom{vertical-align:bottom!important}@media (max-width:959px){.uk-text-center-medium{text-align:center!important}.uk-text-left-medium{text-align:left!important}}.uk-text-nowrap{white-space:nowrap}.uk-text-break{-webkit-hyphens:auto;-ms-hyphens:auto;-moz-hyphens:auto;hyphens:auto}.uk-container{box-sizing:border-box;max-width:980px;padding:0 25px}@media (min-width:1220px){.uk-container{max-width:1200px;padding:0 35px}}.uk-container:after,.uk-container:before{display:table}.uk-container-center{margin-left:auto;margin-right:auto}.uk-clearfix:before{display:table-cell}.uk-clearfix:after{display:table}.uk-nbfc-alt{display:table-cell;width:10000px}.uk-float-left{float:left}.uk-float-right{float:right}[class*=uk-float-]{max-width:100%}[class*=uk-align-]{display:block}.uk-align-left{margin-right:15px;float:left}.uk-align-right{margin-left:15px;float:right}@media (min-width:768px){.uk-align-medium-left{margin-right:15px;float:left}.uk-align-medium-right{margin-left:15px;float:right}}.uk-align-center{margin-left:auto;margin-right:auto}.uk-vertical-align{font-size:0}.uk-vertical-align:before{content:'';display:inline-block;height:100%;vertical-align:middle}.uk-vertical-align-bottom,.uk-vertical-align-middle{display:inline-block;max-width:100%;font-size:1rem}.uk-vertical-align-middle{vertical-align:middle}.uk-vertical-align-bottom{vertical-align:bottom}[class*=uk-height]{box-sizing:border-box}.uk-height-1-1{height:100%}.uk-height-viewport{height:100vh;min-height:600px}.uk-nestable-empty,.uk-sortable-empty{min-height:30px}.uk-responsive-height,.uk-responsive-width{box-sizing:border-box}.uk-responsive-width{max-width:100%!important;height:auto}.uk-responsive-height{max-height:100%;width:auto}*+.uk-margin{margin-top:15px}.uk-margin-top{margin-top:15px!important}.uk-margin-left{margin-left:15px!important}.uk-margin-right{margin-right:15px!important}.uk-margin-large{margin-bottom:50px}*+.uk-margin-large{margin-top:50px}.uk-margin-large-left{margin-left:50px!important}.uk-margin-large-right{margin-right:50px!important}.uk-margin-small{margin-bottom:5px}*+.uk-margin-small{margin-top:5px}.uk-margin-small-top{margin-top:5px!important}.uk-margin-small-left{margin-left:5px!important}.uk-margin-small-right{margin-right:5px!important}.uk-margin-remove{margin:0!important}.uk-margin-top-remove{margin-top:0!important}.uk-margin-bottom-remove{margin-bottom:0!important}.uk-overflow-container>:last-child,.uk-scrollable-box>:last-child{margin-bottom:0}.uk-padding-remove{padding:0!important}.uk-padding-top-remove{padding-top:0!important}.uk-padding-bottom-remove{padding-bottom:0!important}.uk-padding-vertical-remove{padding-top:0!important;padding-bottom:0!important}.uk-border-circle{border-radius:50%}.uk-border-rounded{border-radius:5px}.uk-heading-large{font-size:36px;line-height:42px}.uk-link-muted,.uk-link-muted a,.uk-link-muted a:hover,.uk-link-muted:hover{color:#444}.uk-link-reset,.uk-link-reset a,.uk-link-reset a:focus,.uk-link-reset a:hover,.uk-link-reset:focus,.uk-link-reset:hover{color:inherit;text-decoration:none}.uk-scrollable-text{height:300px;overflow-y:scroll;-webkit-overflow-scrolling:touch;resize:both}.uk-scrollable-box{box-sizing:border-box;height:170px;padding:10px;border:1px solid #ddd;overflow:auto;-webkit-overflow-scrolling:touch;resize:both}.uk-contrast .uk-nav-side .uk-nav-divider,.uk-contrast hr{border-top-color:rgba(255,255,255,.2)}.uk-overflow-hidden{overflow:hidden}.uk-overflow-container{overflow:auto;-webkit-overflow-scrolling:touch}.uk-position-absolute,[class*=uk-position-bottom],[class*=uk-position-top]{position:absolute!important}.uk-position-top{top:0;left:0;right:0}.uk-position-bottom{bottom:0;left:0;right:0}.uk-position-top-left{top:0;left:0}.uk-position-top-right{top:0;right:0}.uk-position-bottom-left{bottom:0;left:0}.uk-position-bottom-right{bottom:0;right:0}.uk-position-cover{position:absolute;top:0;bottom:0;left:0;right:0}.uk-position-relative{position:relative!important}.uk-position-z-index{z-index:1}.uk-display-block{display:block!important}.uk-display-inline{display:inline!important}.uk-display-inline-block{display:inline-block!important;max-width:100%}@media (min-width:960px){.uk-hidden-large,.uk-visible-medium,.uk-visible-small{display:none!important}}@media (min-width:768px) and (max-width:959px){.uk-hidden-medium,.uk-visible-large,.uk-visible-small{display:none!important}}@media (max-width:767px){.uk-text-center-small{text-align:center!important}.uk-text-left-small{text-align:left!important}.uk-hidden-small,.uk-visible-large,.uk-visible-medium{display:none!important}}.uk-hidden{display:none!important}.uk-visible-hover:hover .uk-hidden,.uk-visible-hover:hover .uk-invisible{display:block!important;visibility:visible!important}.uk-visible-hover-inline:hover .uk-hidden,.uk-visible-hover-inline:hover .uk-invisible{display:inline-block!important;visibility:visible!important}.uk-notouch .uk-hidden-notouch,.uk-touch .uk-hidden-touch{display:none!important}.uk-flex{display:-ms-flexbox;display:-webkit-flex;display:flex}.uk-flex-inline{display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex}.uk-flex-inline>*,.uk-flex>*{-ms-flex-negative:1}.uk-flex-top{-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start}.uk-flex-middle{-ms-flex-align:center;-webkit-align-items:center;align-items:center}.uk-flex-bottom{-ms-flex-align:end;-webkit-align-items:flex-end;align-items:flex-end}.uk-flex-center{-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.uk-flex-right{-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.uk-flex-space-between{-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.uk-flex-space-around{-ms-flex-pack:distribute;-webkit-justify-content:space-around;justify-content:space-around}.uk-flex-row-reverse{-ms-flex-direction:row-reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse}.uk-flex-column{-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.uk-flex-column-reverse{-ms-flex-direction:column-reverse;-webkit-flex-direction:column-reverse;flex-direction:column-reverse}.uk-flex-nowrap{-ms-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;flex-wrap:nowrap}.uk-flex-wrap{-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.uk-flex-wrap-reverse{-ms-flex-wrap:wrap-reverse;-webkit-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.uk-flex-wrap-top{-ms-flex-line-pack:start;-webkit-align-content:flex-start;align-content:flex-start}.uk-flex-wrap-middle{-ms-flex-line-pack:center;-webkit-align-content:center;align-content:center}.uk-flex-wrap-bottom{-ms-flex-line-pack:end;-webkit-align-content:flex-end;align-content:flex-end}.uk-flex-wrap-space-between{-ms-flex-line-pack:justify;-webkit-align-content:space-between;align-content:space-between}.uk-flex-wrap-space-around{-ms-flex-line-pack:distribute;-webkit-align-content:space-around;align-content:space-around}.uk-flex-order-first{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last{-ms-flex-order:99;-webkit-order:99;order:99}@media (min-width:480px){.uk-flex-order-first-small{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-small{-ms-flex-order:99;-webkit-order:99;order:99}}@media (min-width:768px){.uk-heading-large{font-size:52px;line-height:64px}.uk-flex-order-first-medium{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-medium{-ms-flex-order:99;-webkit-order:99;order:99}}@media (min-width:960px){.uk-flex-order-first-large{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-large{-ms-flex-order:99;-webkit-order:99;order:99}}@media (min-width:1220px){.uk-flex-order-first-xlarge{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-xlarge{-ms-flex-order:99;-webkit-order:99;order:99}}.uk-flex-item-none{-ms-flex:none;-webkit-flex:none;flex:none}.uk-flex-item-auto{-ms-flex:auto;-webkit-flex:auto;flex:auto;-ms-flex-negative:1}.uk-flex-item-1{-ms-flex:1;-webkit-flex:1;flex:1}.uk-contrast{color:#fff}.uk-contrast .uk-link,.uk-contrast a:not([class]){color:rgba(255,255,255,.7);text-decoration:none}.uk-contrast .uk-link:hover,.uk-contrast a:not([class]):hover{color:#fff;text-decoration:underline}.uk-contrast :not(pre)>code,.uk-contrast :not(pre)>kbd,.uk-contrast :not(pre)>samp,.uk-contrast em,.uk-contrast h1,.uk-contrast h2,.uk-contrast h3,.uk-contrast h4,.uk-contrast h5,.uk-contrast h6{color:#fff}.uk-contrast .uk-nav li>a,.uk-contrast .uk-nav li>a:hover{text-decoration:none}.uk-contrast .uk-nav-side>li>a{color:#fff}.uk-contrast .uk-nav-side>li>a:focus,.uk-contrast .uk-nav-side>li>a:hover{background:rgba(255,255,255,.1);color:#fff}.uk-contrast .uk-nav-side>li.uk-active>a{background:#fff;color:#444}.uk-contrast .uk-nav-side .uk-nav-header{color:#fff}.uk-contrast .uk-nav-side ul a{color:rgba(255,255,255,.7)}.uk-contrast .uk-nav-side ul a:hover{color:#fff}.uk-contrast .uk-subnav>*>a{color:rgba(255,255,255,.7);text-decoration:none}.uk-contrast .uk-subnav>*>a:focus,.uk-contrast .uk-subnav>*>a:hover{color:#fff;text-decoration:none}.uk-contrast .uk-subnav>.uk-active>a{color:#fff}.uk-contrast .uk-subnav-line>:nth-child(n+2):before{border-left-color:rgba(255,255,255,.2)}.uk-contrast .uk-subnav-pill>*>a:focus,.uk-contrast .uk-subnav-pill>*>a:hover{background:rgba(255,255,255,.7);color:#444;text-decoration:none}.uk-contrast .uk-subnav-pill>.uk-active>a{background:#fff;color:#444}.uk-contrast .uk-tab{border-bottom-color:rgba(255,255,255,.2)}.uk-contrast .uk-tab>li>a{border-color:transparent;color:rgba(255,255,255,.7)}.uk-contrast .uk-tab>li.uk-open>a,.uk-contrast .uk-tab>li>a:focus,.uk-contrast .uk-tab>li>a:hover{border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.7);color:#444;text-decoration:none}.uk-contrast .uk-tab>li.uk-active>a{border-color:rgba(255,255,255,.2);border-bottom-color:transparent;background:#fff;color:#444}.uk-contrast .uk-tab-center{border-bottom-color:rgba(255,255,255,.2)}.uk-contrast .uk-list-line>li:nth-child(n+2),.uk-contrast .uk-tab-grid:before{border-top-color:rgba(255,255,255,.2)}.uk-contrast .uk-form input:not([type]),.uk-contrast .uk-form input[type=color],.uk-contrast .uk-form input[type=date],.uk-contrast .uk-form input[type=datetime-local],.uk-contrast .uk-form input[type=datetime],.uk-contrast .uk-form input[type=email],.uk-contrast .uk-form input[type=month],.uk-contrast .uk-form input[type=number],.uk-contrast .uk-form input[type=password],.uk-contrast .uk-form input[type=search],.uk-contrast .uk-form input[type=tel],.uk-contrast .uk-form input[type=text],.uk-contrast .uk-form input[type=time],.uk-contrast .uk-form input[type=url],.uk-contrast .uk-form input[type=week],.uk-contrast .uk-form select,.uk-contrast .uk-form textarea{border-color:rgba(255,255,255,.8);background:rgba(255,255,255,.8);color:#444;background-clip:padding-box}.uk-contrast .uk-form input:not([type]):focus,.uk-contrast .uk-form input[type=color]:focus,.uk-contrast .uk-form input[type=date]:focus,.uk-contrast .uk-form input[type=datetime-local]:focus,.uk-contrast .uk-form input[type=datetime]:focus,.uk-contrast .uk-form input[type=email]:focus,.uk-contrast .uk-form input[type=month]:focus,.uk-contrast .uk-form input[type=number]:focus,.uk-contrast .uk-form input[type=password]:focus,.uk-contrast .uk-form input[type=search]:focus,.uk-contrast .uk-form input[type=tel]:focus,.uk-contrast .uk-form input[type=text]:focus,.uk-contrast .uk-form input[type=time]:focus,.uk-contrast .uk-form input[type=url]:focus,.uk-contrast .uk-form input[type=week]:focus,.uk-contrast .uk-form select:focus,.uk-contrast .uk-form textarea:focus{border-color:#fff;background:#fff;color:#444}.uk-contrast .uk-form :-ms-input-placeholder{color:rgba(68,68,68,.7)!important}.uk-contrast .uk-form ::-moz-placeholder{color:rgba(68,68,68,.7)}.uk-contrast .uk-form ::-webkit-input-placeholder{color:rgba(68,68,68,.7)}.uk-contrast .uk-button{color:#444;background:#fff}.uk-contrast .uk-button:focus,.uk-contrast .uk-button:hover{background-color:rgba(255,255,255,.8);color:#444}.uk-contrast .uk-button.uk-active,.uk-contrast .uk-button:active{background-color:rgba(255,255,255,.7);color:#444}.uk-contrast .uk-button-primary{background-color:#00a8e6;color:#fff}.uk-contrast .uk-button-primary:focus,.uk-contrast .uk-button-primary:hover{background-color:#35b3ee;color:#fff}.uk-contrast .uk-button-primary.uk-active,.uk-contrast .uk-button-primary:active{background-color:#0091ca;color:#fff}.uk-contrast .uk-icon-hover{color:rgba(255,255,255,.7)}.uk-contrast .uk-icon-hover:hover{color:#fff}.uk-contrast .uk-icon-button{background:#fff;color:#444}.uk-contrast .uk-icon-button:focus,.uk-contrast .uk-icon-button:hover{background-color:rgba(255,255,255,.8);color:#444}.uk-contrast .uk-icon-button:active{background-color:rgba(255,255,255,.7);color:#444}.uk-contrast .uk-text-muted{color:rgba(255,255,255,.6)!important}.uk-contrast .uk-text-primary{color:#2d7091!important}@media print{blockquote,img,pre,tr{page-break-inside:avoid}*,:after,:before{background:0 0!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}blockquote,pre{border:1px solid #999}thead{display:table-header-group}img{max-width:100%!important}@page{margin:.5cm}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.uk-alert,.uk-badge{border:none;text-shadow:none}.uk-form-width-large,.uk-form-width-medium,.uk-form-width-mini,.uk-form-width-small,.uk-notify{max-width:100%}[class^=uk-animation-]{-webkit-animation-timing-function:cubic-bezier(.4,0,.2,1);animation-timing-function:cubic-bezier(.4,0,.2,1);-webkit-animation-duration:280ms;animation-duration:280ms}.uk-alert{background:#1976d2;color:#fff;padding-right:32px;position:relative;display:block}.uk-alert-success{background:#8bc34a!important}.uk-alert-danger{background:#e53935!important}.uk-alert-warning{background:#ffa000!important}.uk-alert-info{background:#0097a7!important}.uk-alert-large{padding:24px 32px 24px 24px}.uk-alert-close{position:absolute;top:10px;right:8px;float:none!important;margin:0!important}.uk-alert-close:after{color:#fff!important}.uk-badge{background:#0097a7;padding:5px 10px;border-radius:2px;font-size:13px;line-height:15px;font-weight:400}.uk-badge-primary{background:#2196f3}.uk-badge-danger{background:#e53935}.uk-badge-warning{background:#ffa000}.uk-badge-success{background:#7cb342}.uk-badge-muted{background:#bdbdbd}.uk-badge-notification{border-radius:20px}.uk-badge.inline-label{vertical-align:1px;margin-left:4px}.uk-input-group-addon,.uk-nestable-toggle,.uk-table-align-vertical td,.uk-table-align-vertical th{vertical-align:middle}.uk-badge-outline{border:1px solid rgba(0,0,0,.12);background:#fff;color:#212121;padding-bottom:0;line-height:16px}.uk-button{font-weight:400;border-radius:2px;-webkit-transition:all .2s cubic-bezier(.4,0,.2,1);transition:all .2s cubic-bezier(.4,0,.2,1)}.uk-comment-list>li+li{border-top:1px dashed rgba(0,0,0,.12);margin-top:16px!important}.uk-comment-list .uk-comment+ul{list-style:none;margin:8px 0 0}@media only screen and (min-width:768px){.uk-comment-list .uk-comment+ul{padding-left:48px}}.uk-comment-header{padding:16px 8px 8px;border:none;background:0 0;margin-bottom:0}.uk-comment-title{margin:0;font-size:14px;line-height:20px}.uk-modal{z-index:1304;background:rgba(0,0,0,.5);-webkit-transition:opacity 250ms ease-out;transition:opacity 250ms ease-out;overflow:auto!important}.uk-modal.uk-modal-no-backdrop{background:0 0}.uk-modal-dialog{border-radius:2px;box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22);padding:24px;display:block!important;-webkit-animation:none!important;animation:none!important;-webkit-transition:-webkit-transform 280ms cubic-bezier(.4,0,.2,1),opacity 280ms ease-in;transition:transform 280ms cubic-bezier(.4,0,.2,1),opacity 280ms ease-in;-webkit-transform:scale(0);transform:scale(0)}.uk-open .uk-modal-dialog{-webkit-transform:scale(1);transform:scale(1)}.uk-modal-dialog .uk-modal-header{background:0 0;border-bottom:none;margin:0 -24px 24px;padding:0 32px 0 24px;overflow:hidden}.uk-modal-dialog .uk-modal-header .uk-modal-title{margin:0;font:500 18px/28px Roboto,sans-serif}.uk-modal-dialog .uk-modal-header .uk-modal-title span{font-size:16px;display:block;color:#727272}.uk-modal-dialog .uk-modal-footer{margin:16px -16px -16px;padding:16px;background:#fff;border-top:none}.uk-modal-dialog .uk-modal-footer:after,.uk-modal-dialog .uk-modal-footer:before{content:" ";display:table}.uk-modal-dialog .uk-modal-footer .md-icon-btn{margin-top:2px}.uk-modal-dialog .uk-modal-caption{bottom:16px;margin:0 32px}.uk-modal-dialog>.uk-close:first-child{top:8px;right:8px;position:absolute;float:none;margin:0}.uk-modal-dialog-lightbox{padding:0}.uk-modal-dialog-lightbox>.uk-close:first-child{top:-11px;right:-11px;box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23);border:none}.uk-modal-dialog .uk-overflow-container{margin:16px 0}.uk-modal .uk-margin.uk-modal-content{margin-bottom:0}.uk-modal.uk-modal-dialog-replace .uk-modal-content{font-size:18px}.uk-dropdown{-webkit-transform:scale(.25,0);transform:scale(.25,0);opacity:0;-webkit-transition:all 280ms cubic-bezier(.4,0,.2,1);transition:all 280ms cubic-bezier(.4,0,.2,1);-webkit-animation:none!important;animation:none!important;-webkit-transform-origin:50% 0!important;transform-origin:50% 0!important;box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);border:none;border-radius:2px}.uk-close,.uk-close:focus,.uk-close:hover{opacity:1}.uk-dropdown.uk-dropdown-xlarge{width:360px}@media only screen and (max-width:479px){.uk-dropdown.uk-dropdown-xlarge{width:260px}}.uk-dropdown.uk-dropdown-large{width:260px}.uk-dropdown.uk-dropdown-small{width:160px}.uk-dropdown.uk-dropdown-xsmall{min-width:130px!important;width:130px!important;padding:5px 15px!important}.uk-dropdown>ul>li>a{font-size:14px;color:#212121}.uk-dropdown>ul>li.uk-active>a,.uk-dropdown>ul>li>a:hover{background:rgba(0,0,0,.085)}.uk-dropdown.dropdown-modal{z-index:1310}.uk-dropdown.dropdown-fs{z-index:9999}.uk-dropdown.uk-dropdown-scrollable{-webkit-overflow-scrolling:touch}[data-uk-dropdown*=top-] .uk-dropdown{-webkit-transform-origin:50% 100%!important;transform-origin:50% 100%!important}[data-uk-dropdown*=left-] .uk-dropdown{-webkit-transform-origin:100% 50%!important;transform-origin:100% 50%!important}[data-uk-dropdown*=right-] .uk-dropdown{-webkit-transform-origin:0 50%!important;transform-origin:0 50%!important}[data-uk-dropdown*=justify]{position:static!important}[data-uk-dropdown*=justify] [class*=uk-dropdown-width]{left:0!important;width:100%!important;min-width:inherit!important;margin-left:0!important}.uk-dropdown-active{display:block!important}.uk-dropdown-shown{-webkit-transform:scale(1,1);transform:scale(1,1);opacity:1}.uk-nav-dropdown>li>a:focus,.uk-nav-dropdown>li>a:hover{text-shadow:none;box-shadow:none;color:#212121;background:rgba(153,153,153,.2)}.uk-form input:not([type]),.uk-form input[type=color],.uk-form input[type=date],.uk-form input[type=datetime-local],.uk-form input[type=email],.uk-form input[type=month],.uk-form input[type=number],.uk-form input[type=password],.uk-form input[type=search],.uk-form input[type=tel],.uk-form input[type=text],.uk-form input[type=time],.uk-form input[type=url],.uk-form input[type=week],.uk-form select,.uk-form textarea{box-sizing:border-box;padding:8px;border:1px solid rgba(0,0,0,.12);-webkit-transition:border .2s ease-in;transition:border .2s ease-in;resize:none}.uk-form input:not([type]):focus,.uk-form input[type=color]:focus,.uk-form input[type=date]:focus,.uk-form input[type=datetime-local]:focus,.uk-form input[type=email]:focus,.uk-form input[type=month]:focus,.uk-form input[type=number]:focus,.uk-form input[type=password]:focus,.uk-form input[type=search]:focus,.uk-form input[type=tel]:focus,.uk-form input[type=text]:focus,.uk-form input[type=time]:focus,.uk-form input[type=url]:focus,.uk-form input[type=week]:focus,.uk-form select:focus,.uk-form textarea:focus{background:0 0;border-color:#2196f3}.uk-form textarea{-webkit-transition:border-color .2s ease-in,height 280ms ease-in;transition:border-color .2s ease-in,height 280ms ease-in}.uk-form-row{-webkit-transition:all .2s ease-out;transition:all .2s ease-out}.uk-form-row+.uk-form-row{margin-top:24px}.uk-form-stacked .uk-form-label{font-weight:500;font-size:13px;display:block;padding-bottom:8px}.uk-form-stacked .uk-form-label+p{margin-top:0}.uk-form-help-block{display:block;font-size:12px;color:#727272;padding:4px 0 0;font-style:italic}.uk-grid+.uk-grid,.uk-grid-margin,.uk-grid>*>.uk-panel+.uk-panel{margin-top:24px}.uk-grid.uk-grid-small+.uk-grid-small,.uk-grid.uk-grid-small>*>.uk-panel+.uk-panel,.uk-grid.uk-grid-small>.uk-grid-margin{margin-top:10px}[class*=uk-icon-]{color:#727272}.uk-input-group{position:relative;display:table;border-collapse:separate}.uk-input-group>input[type=text]{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.uk-input-group-addon,.uk-input-group>input[type=text]{display:table-cell}.uk-input-group-addon{width:1%;white-space:nowrap;line-height:1;text-align:center;padding:0 16px;font-size:16px;min-width:22px}.uk-input-group>.md-input-wrapper{display:inline-block}.uk-input-group.uk-input-group-danger .uk-input-group-addon i{color:#e53935!important}.uk-input-group.uk-input-group-danger+.parsley-errors-list{margin-left:58px}.uk-input-group.uk-input-group-success .uk-input-group-addon i{color:#7cb342!important}.uk-pagination{margin:0}.uk-pagination>li{outline:0!important}.uk-pagination>li>a,.uk-pagination>li>span{border:none;padding:4px 8px;min-width:32px;line-height:24px;height:32px;box-sizing:border-box;text-shadow:none;color:#212121;border-radius:4px}.uk-dotnav>*>*,.uk-progress{height:20px;overflow:hidden}.uk-pagination>li>a [class*=uk-icon-],.uk-pagination>li>span [class*=uk-icon-]{font-size:16px}.uk-pagination>li>a{background:0 0}.uk-pagination>li>a:hover{background:#e1efd2}.uk-pagination>li.uk-active>a,.uk-pagination>li.uk-active>span{background:#7cb342}.uk-pagination>li.uk-active>a,.uk-pagination>li.uk-active>a:hover,.uk-pagination>li.uk-active>span,.uk-pagination>li.uk-active>span:hover{color:#fff}.uk-pagination>li.uk-disabled>a,.uk-pagination>li.uk-disabled>span{border:none;text-shadow:none;background:0 0!important;color:#aaa;cursor:default}.uk-panel-box{border-radius:2px;background:#fff;border-color:rgba(0,0,0,.12)}.uk-panel-box .uk-panel-teaser{border-radius:2px 2px 0 0}.uk-table th{border-bottom:1px #444}.uk-table-nowrap td,.uk-table-nowrap th{white-space:nowrap}.uk-table-no-border td{border-bottom-color:transparent}.uk-sticky-placeholder .uk-active{z-index:1094}.uk-subnav-pill>*>*{color:#212121}.uk-subnav-pill>.uk-active>*{background:#7cb342}.uk-table thead th{border-bottom:2px solid rgba(0,0,0,.12)}.uk-table tfoot td,.uk-table tfoot th,.uk-table thead th{font-style:normal;font-weight:400;color:#727272;font-size:14px}.uk-table td{border-bottom-color:#e0e0e0}.uk-table tfoot td,.uk-table tfoot th{border-top:2px solid rgba(0,0,0,.12);border-bottom:none}.uk-table-hover tbody tr:hover,.uk-table-striped tbody tr:nth-of-type(odd){background:rgba(0,0,0,.085)}.uk-thumbnail{border-radius:0;border-color:rgba(0,0,0,.12)}.uk-thumbnail-caption{padding:4px 4px 0;line-height:20px;color:#727272;font-size:12px}.uk-text-small{font-size:12px}.uk-text-muted{color:#757575!important}.uk-text-primary{color:#2196f3!important}.uk-text-danger{color:#e53935!important}.uk-text-success{color:#7cb342!important}.uk-text-warning{color:#ffa000!important}.uk-accordion-title:after,.uk-close:after{font-family:"Material Icons";color:#727272}.uk-margin-bottom{margin-bottom:16px!important}.uk-margin-small-bottom{margin-bottom:8px!important}.uk-margin-medium-bottom{margin-bottom:32px!important}.uk-margin-large-bottom{margin-bottom:48px!important}.uk-margin-medium-top{margin-top:32px!important}.uk-margin-large-top{margin-top:48px!important}.uk-close{font-size:18px}.uk-close:after{opacity:1!important;content:'\e5cd'}/*! UIkit 2.24.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */.uk-accordion-title{margin-top:0;margin-bottom:15px;line-height:24px;cursor:pointer}.uk-accordion-content:after,.uk-accordion-content:before{content:"";display:table}.uk-accordion-content>:last-child{margin-bottom:0}.uk-accordion-title{background:rgba(153,153,153,.2);border-radius:0;border:none;margin:0 0 4px;font-size:15px;font-weight:400;padding:8px 24px 8px 16px;position:relative}.uk-accordion-title:after{content:'\e313';font-size:18px;position:absolute;top:8px;right:8px;display:block;-webkit-transition:-webkit-transform 280ms;transition:transform 280ms}.uk-accordion-title.uk-active:after{-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}.uk-accordion-title-primary{background:#2196f3;color:#fff}.uk-accordion-title-primary:after{color:#fff}.uk-accordion-title-danger{background:#e53935;color:#fff}.uk-accordion-title-danger:after{color:#fff}.uk-accordion-title-success{background:#7cb342;color:#fff}.uk-accordion-title-success:after{color:#fff}.uk-accordion-title-warning{background:#ffa000;color:#fff}.uk-accordion-title-warning:after{color:#fff}.uk-accordion-content{padding:16px}.uk-accordion-alt .uk-accordion-title{background:#fff;margin:0;padding:16px 24px 16px 48px;border-top:1px solid rgba(0,0,0,.12)}.uk-accordion-alt .uk-accordion-title:first-child{border-top:none}.uk-accordion-alt .uk-accordion-title:after{color:#2196f3;content:'\e145';right:auto;left:16px;top:16px}.uk-accordion-alt .uk-accordion-title.uk-active:after{-webkit-transform:rotate(-180deg);transform:rotate(-180deg);content:'\e15b'}.uk-accordion-alt .uk-accordion-content{padding:24px}/*! UIkit 2.24.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */.uk-dotnav{display:-ms-flexbox;display:-webkit-flex;display:-webkit-box;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-left:-15px;margin-top:-15px;padding:0;list-style:none}*+.uk-progress,.uk-dotnav>*{margin-top:15px}.uk-dotnav>*{-ms-flex:none;-webkit-flex:none;-webkit-box-flex:0;flex:none;padding-left:15px;float:left}.uk-dotnav:after,.uk-dotnav:before{content:"";display:block;overflow:hidden}.uk-dotnav>*>*{display:block;box-sizing:content-box;width:20px;border-radius:50%;background:rgba(50,50,50,.1);text-indent:100%;white-space:nowrap}.uk-file-upload,.uk-htmleditor .CodeMirror,.uk-htmleditor-code,.uk-htmleditor-preview,.uk-notify,.uk-progress,.uk-slidenav{box-sizing:border-box}.uk-dotnav>*>:focus,.uk-dotnav>*>:hover{background:rgba(50,50,50,.4);outline:0}.uk-dotnav>*>:active{background:rgba(50,50,50,.6)}.uk-dotnav>.uk-active>*{background:rgba(50,50,50,.4)}.uk-dotnav-contrast>*>*{background:rgba(255,255,255,.4)}.uk-dotnav-contrast>*>:focus,.uk-dotnav-contrast>*>:hover{background:rgba(255,255,255,.7)}.uk-dotnav-contrast>*>:active,.uk-dotnav-contrast>.uk-active>*{background:rgba(255,255,255,.9)}.uk-dotnav-vertical{-ms-flex-direction:column;-webkit-flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.uk-dotnav-vertical>*{float:none}/*! UIkit 2.24.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */.uk-progress{margin-bottom:15px;background:#f5f5f5;line-height:20px}.uk-progress-bar{width:0;height:100%;float:left;-webkit-transition:width .6s ease;transition:width .6s ease;font-size:12px;color:#fff;text-align:center;box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)}.uk-progress-mini{height:6px}.uk-progress-small{height:12px}.uk-progress-striped .uk-progress-bar{background-image:-webkit-linear-gradient(135deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:30px 30px}.uk-progress-striped.uk-active .uk-progress-bar{-webkit-animation:uk-progress-bar-stripes 2s linear infinite;animation:uk-progress-bar-stripes 2s linear infinite}@-webkit-keyframes uk-progress-bar-stripes{0%{background-position:0 0}100%{background-position:30px 0}}@keyframes uk-progress-bar-stripes{0%{background-position:0 0}100%{background-position:30px 0}}.uk-progress-mini,.uk-progress-small{border-radius:500px}.uk-progress{box-shadow:none;border-radius:2px}.uk-progress-bar{background:#009688}.uk-progress-success .uk-progress-bar{background-color:#7cb342}.uk-progress-danger .uk-progress-bar{background-color:#e53935}.uk-progress-warning .uk-progress-bar{background-color:#ffa000}/*! UIkit 2.24.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */.uk-htmleditor-navbar{border:1px solid rgba(0,0,0,.06);border-top-left-radius:4px;border-top-right-radius:4px}.uk-htmleditor-navbar-nav>li.uk-active>a,.uk-htmleditor-navbar-nav>li:hover>a,.uk-htmleditor-navbar-nav>li>a:active,.uk-htmleditor-navbar-nav>li>a:focus{color:#444;border-left-color:rgba(0,0,0,.1);border-right-color:rgba(0,0,0,.1)}.uk-htmleditor-navbar:after,.uk-htmleditor-navbar:before{content:"";display:table}.uk-htmleditor-navbar-nav{margin:0;padding:0;list-style:none;float:left}.uk-htmleditor-navbar-nav>li{float:left}.uk-htmleditor-navbar-nav>li>a{display:block;box-sizing:border-box;text-decoration:none;padding:0 15px;line-height:40px;color:#444;font-size:11px;cursor:pointer;margin-top:-1px;margin-left:-1px;text-shadow:0 1px 0 #fff}.uk-htmleditor-navbar-nav>li:hover>a,.uk-htmleditor-navbar-nav>li>a:focus{background-color:#fafafa;outline:0;position:relative;z-index:1;border-top-color:rgba(0,0,0,.1)}.uk-htmleditor-navbar-nav>li>a:active{background-color:#eee;border-top-color:rgba(0,0,0,.2)}.uk-htmleditor-navbar-nav>li.uk-active>a{background-color:#fafafa;border-top-color:rgba(0,0,0,.1)}.uk-htmleditor-navbar-flip{float:right}[data-mode=split] .uk-htmleditor-button-code,[data-mode=split] .uk-htmleditor-button-preview{display:none}.uk-htmleditor-content{background:#fff;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.uk-htmleditor-content:after,.uk-htmleditor-content:before{content:"";display:table}.uk-htmleditor-fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1154}.uk-htmleditor-fullscreen .uk-htmleditor-content{position:absolute;left:0;right:0;bottom:0}.uk-htmleditor-fullscreen .uk-icon-expand:before{content:"\f066"}.uk-htmleditor-preview{padding:20px;overflow-y:scroll;position:relative}[data-mode=tab][data-active-tab=code] .uk-htmleditor-preview,[data-mode=tab][data-active-tab=preview] .uk-htmleditor-code{display:none}.uk-form-file,.uk-form-select{display:inline-block;overflow:hidden;vertical-align:middle}[data-mode=split] .uk-htmleditor-code,[data-mode=split] .uk-htmleditor-preview{float:left;width:50%}[data-mode=split] .uk-htmleditor-code{border-right:1px solid #eee}.uk-htmleditor-iframe{position:absolute;top:0;left:0;width:100%;height:100%}.uk-htmleditor .CodeMirror{padding:10px}.uk-htmleditor-navbar-nav:first-child>li:first-child>a{border-top-left-radius:4px}.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav>li>a{margin-left:0;margin-right:-1px}.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav:first-child>li:first-child>a{border-top-left-radius:0}.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav:last-child>li:last-child>a{border-top-right-radius:4px}.uk-htmleditor-fullscreen .uk-htmleditor-navbar{border-top:none;border-left:none;border-right:none;border-radius:0}.uk-htmleditor-fullscreen .uk-htmleditor-content{border:none;border-radius:0;top:38px}.uk-form-file input[type=file],.uk-form-select select{top:0;z-index:1;width:100%;cursor:pointer;opacity:0;left:0}.uk-htmleditor-fullscreen .uk-htmleditor-navbar-nav>li>a{border-radius:0!important}.uk-htmleditor-navbar{border-radius:0;background:#f9f9f9;border-width:1px 1px 0;border-style:solid;border-color:rgba(0,0,0,.12);overflow:hidden}.uk-htmleditor-navbar-nav>li>a{border:none;border-radius:0!important;height:38px}.uk-htmleditor-navbar-nav>li.uk-active>a,.uk-htmleditor-navbar-nav>li:hover>a,.uk-htmleditor-navbar-nav>li>a:focus{background:#ebebeb}.uk-htmleditor-content{border-radius:0;border:1px solid rgba(0,0,0,.12)}.uk-htmleditor-fullscreen .uk-htmleditor-navbar{border-bottom:1px solid rgba(0,0,0,.12)}/*! UIkit 2.24.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */.uk-form-file{position:relative}/*! UIkit 2.24.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */.uk-dragover{box-shadow:0 0 20px rgba(100,100,100,.3)}.uk-file-upload{width:100%;padding:32px 16px;background:#f5f5f5;text-align:center;-webkit-transition:all .2s ease-in;transition:all .2s ease-in}.uk-file-upload p{margin:0}.uk-file-upload.uk-dragover{box-shadow:0 0 6px rgba(0,0,0,.3)}div.uk-form-file{padding:3px 2px}.uk-form-file input[type=file]{position:absolute;font-size:500px}.uk-form-file input[type=file]::-webkit-file-upload-button{cursor:pointer}/*! UIkit 2.24.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */.uk-form-select{position:relative}.uk-form-select select{position:absolute;height:100%}.uk-datepicker{z-index:1094;width:auto;padding:0}.uk-datepicker-nav{margin-bottom:15px;text-align:center;line-height:20px;background:#009688;padding:10px 0}.uk-datepicker-nav a,.uk-datepicker-nav a:hover{text-decoration:none;color:#fff}.uk-datepicker-nav .uk-form-select{font:400 16px/22px Roboto,sans-serif;color:#fff;text-transform:uppercase}.uk-datepicker-previous{float:left;margin-left:8px}.uk-datepicker-previous:after{content:"\f053"}.uk-datepicker-next{float:right;margin-right:8px}.uk-datepicker-next:after{content:"\f054"}.uk-datepicker-next:after,.uk-datepicker-previous:after{width:20px;font-family:FontAwesome}.uk-datepicker.dp-top{-webkit-transform-origin:50% 100%!important;transform-origin:50% 100%!important}.uk-datepicker-table{width:100%}.uk-datepicker-table td,.uk-datepicker-table th{padding:2px;font:400 13px/15px Roboto,sans-serif}.uk-datepicker-table th{color:#727272;font-size:12px;text-transform:uppercase}.uk-datepicker-table a{display:block;width:30px;line-height:30px;height:30px;text-align:center;text-decoration:none;border-radius:50%;color:#212121}.uk-datepicker-table a:hover{background-color:rgba(0,0,0,.085);color:#212121;outline:0}.uk-datepicker-table a.uk-active{background-color:#009688;color:#fff}a.uk-datepicker-table-muted{color:#999}.uk-autocomplete .uk-dropdown{display:block;max-height:0;padding:0;overflow-x:hidden;overflow-y:auto;border-radius:0;border:none;-webkit-transform:scale(.25,0);transform:scale(.25,0);opacity:0;-webkit-transition:all 280ms cubic-bezier(.4,0,.2,1);transition:all 280ms cubic-bezier(.4,0,.2,1);-webkit-animation:none!important;animation:none!important;-webkit-transform-origin:0 0;transform-origin:0 0}.uk-autocomplete.uk-open .uk-dropdown{-webkit-transform:scale(1);transform:scale(1);opacity:1;max-height:210px}.uk-form-password-toggle{position:absolute;right:8px;top:16px;color:#727272}.uk-form-password-toggle:hover{color:#727272}/*! UIkit 2.24.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */.uk-nestable{padding:0;list-style:none}.uk-nestable-list{margin:0;padding-left:40px;list-style:none}.uk-nestable-item{-ms-touch-action:none;touch-action:none}.uk-nestable-item+.uk-nestable-item,.uk-nestable-list:not(.uk-nestable-dragged)>.uk-nestable-item:first-child{margin-top:10px}.uk-nestable-dragged{position:absolute;z-index:1050;pointer-events:none;padding-left:0}.uk-nestable-placeholder{position:relative}.uk-nestable-placeholder>*{opacity:0}.uk-nestable-handle{-ms-touch-action:none;touch-action:none;margin-right:16px}.uk-nestable-handle:hover,.uk-nestable-moving,.uk-nestable-moving *{cursor:move}[data-nestable-action=toggle]{cursor:pointer;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.uk-nestable-toggle{visibility:hidden;font-size:18px;height:18px;width:18px;line-height:18px;overflow:hidden;margin-right:8px;display:none}.uk-parent>:not(.uk-nestable-list) .uk-nestable-toggle{visibility:visible}.uk-collapsed .uk-nestable-list{display:none}.uk-nestable-panel{padding:8px 16px;background:#fff;border-radius:4px;border:none;text-shadow:none;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.uk-nestable-placeholder:after{content:'';position:absolute;top:0;bottom:0;left:0;right:0;border:none;background:rgba(0,0,0,.085);opacity:1}.uk-nestable-toggle:after{vertical-align:top;content:'\e316';font-family:"Material Icons"}.uk-parent>.uk-nestable-panel .uk-nestable-toggle{display:inline-block}.uk-collapsed .uk-nestable-toggle:after{content:"\e313"}/*! UIkit 2.24.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */.uk-notify{position:fixed;left:10px}.uk-notify-bottom-right,.uk-notify-top-right{left:auto}.uk-notify-bottom-center,.uk-notify-top-center{left:50%}@media (max-width:479px){.uk-notify{left:10px;right:10px;width:auto;margin:0}}.uk-notify-bottom-left,.uk-notify-top-left{left:24px}.uk-notify-bottom-right,.uk-notify-top-right{right:24px}.uk-notify-message{position:relative;margin-bottom:10px;color:#fff;cursor:pointer}.uk-notify-message>.uk-close{visibility:hidden;float:right}.uk-notify-message:hover>.uk-close{visibility:visible}.uk-notify-message-primary{background:#ebf7fd;color:#2d7091;border-color:rgba(45,112,145,.3)}.uk-notify-message-success{border-color:rgba(101,159,19,.3)}.uk-notify-message-warning{border-color:rgba(226,131,39,.3)}.uk-notify-message-danger{border-color:rgba(216,80,48,.3)}.uk-notify{z-index:1114;width:400px;top:56px}.uk-notify-bottom-center,.uk-notify-top-center{margin-left:-200px}.uk-notify-bottom-center,.uk-notify-bottom-left,.uk-notify-bottom-right{top:auto;bottom:8px}.uk-notify-message{background:#323232;border-radius:4px;padding:12px 16px;font-size:14px;line-height:18px;border:none}.uk-notify .uk-close{display:none}.uk-notify .notify-action{float:right;text-transform:uppercase;color:#8bc34a;margin-left:16px}.uk-notify .notify-action:hover{color:#689f38}.uk-notify .notify-content{overflow:hidden}.uk-notify-message-info{background:#1976d2;color:#fff}.uk-notify-message-success{background:#7cb342}.uk-notify-message-warning{background:#ffa000}.uk-notify-message-danger{background:#e53935}.uk-notify-message-danger,.uk-notify-message-danger .notify-action,.uk-notify-message-info,.uk-notify-message-info .notify-action,.uk-notify-message-success,.uk-notify-message-success .notify-action,.uk-notify-message-warning,.uk-notify-message-warning .notify-action{color:#fff}.uk-notify-message-danger .notify-action:hover,.uk-notify-message-info .notify-action:hover,.uk-notify-message-success .notify-action:hover,.uk-notify-message-warning .notify-action:hover{color:#fff;text-decoration:underline}@media only screen and (max-width:767px){.uk-notify-bottom-center,.uk-notify-bottom-left,.uk-notify-bottom-right,.uk-notify-top-center,.uk-notify-top-left,.uk-notify-top-right{width:100%;margin:0;left:0;right:0}.uk-notify-bottom-center>.uk-notify-message,.uk-notify-bottom-left>.uk-notify-message,.uk-notify-bottom-right>.uk-notify-message,.uk-notify-top-center>.uk-notify-message,.uk-notify-top-left>.uk-notify-message,.uk-notify-top-right>.uk-notify-message{border-radius:0;padding:16px 32px}.uk-notify-top-center,.uk-notify-top-left,.uk-notify-top-right{top:0;bottom:auto}.uk-notify-bottom-center,.uk-notify-bottom-left,.uk-notify-bottom-right{top:auto;bottom:-10px}}@media only screen and (min-width:960px){.sidebar_main_active .uk-notify-bottom-left,.sidebar_main_active .uk-notify-top-left,.sidebar_main_open .uk-notify-bottom-left,.sidebar_main_open .uk-notify-top-left{left:256px}.sidebar_main_active .uk-notify-bottom-center,.sidebar_main_active .uk-notify-top-center,.sidebar_main_open .uk-notify-bottom-center,.sidebar_main_open .uk-notify-top-center{margin-left:-80px}}/*! UIkit 2.24.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */.uk-slideshow{position:relative;z-index:0;width:100%;margin:0;padding:0;list-style:none;overflow:hidden;-ms-touch-action:pan-y;touch-action:pan-y}.uk-slideshow>li{position:absolute;top:0;left:0;width:100%;opacity:0}.uk-slideshow>.uk-active{z-index:10;opacity:1}.uk-slideshow>li>img{visibility:hidden}[data-uk-slideshow-slide]{cursor:pointer}.uk-slideshow-fullscreen,.uk-slideshow-fullscreen>li{height:100vh}.uk-slideshow-fade-in{-webkit-animation:uk-fade .5s linear;animation:uk-fade .5s linear}.uk-slideshow-fade-out{-webkit-animation:uk-fade .5s linear reverse;animation:uk-fade .5s linear reverse}.uk-slideshow-scroll-forward-in{-webkit-animation:uk-slide-right .5s ease-in-out;animation:uk-slide-right .5s ease-in-out}.uk-slideshow-scroll-forward-out{-webkit-animation:uk-slide-left .5s ease-in-out reverse;animation:uk-slide-left .5s ease-in-out reverse}.uk-slideshow-scroll-backward-in{-webkit-animation:uk-slide-left .5s ease-in-out;animation:uk-slide-left .5s ease-in-out}.uk-slideshow-scroll-backward-out{-webkit-animation:uk-slide-right .5s ease-in-out reverse;animation:uk-slide-right .5s ease-in-out reverse}.uk-slideshow-scale-out{-webkit-animation:uk-fade-scale-15 .5s ease-in-out reverse;animation:uk-fade-scale-15 .5s ease-in-out reverse}.uk-slideshow-swipe-forward-in{-webkit-animation:uk-slide-left-33 .5s ease-in-out;animation:uk-slide-left-33 .5s ease-in-out}.uk-slideshow-swipe-forward-out{-webkit-animation:uk-slide-left .5s ease-in-out reverse;animation:uk-slide-left .5s ease-in-out reverse}.uk-slideshow-swipe-backward-in{-webkit-animation:uk-slide-right-33 .5s ease-in-out;animation:uk-slide-right-33 .5s ease-in-out}.uk-slideshow-swipe-backward-out{-webkit-animation:uk-slide-right .5s ease-in-out reverse;animation:uk-slide-right .5s ease-in-out reverse}.uk-slideshow-swipe-backward-in:before,.uk-slideshow-swipe-forward-in:before{content:'';position:absolute;top:0;bottom:0;left:0;right:0;z-index:1;background:rgba(0,0,0,.6);-webkit-animation:uk-fade .5s ease-in-out reverse;animation:uk-fade .5s ease-in-out reverse}/*! UIkit 2.24.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */.uk-slidenav{display:inline-block;width:60px;height:60px;line-height:60px;color:rgba(50,50,50,.4);font-size:60px;text-align:center}.uk-tab>li>a,.uk-tooltip{font-size:13px;box-sizing:border-box}.uk-slidenav:focus,.uk-slidenav:hover{outline:0;text-decoration:none;color:rgba(50,50,50,.7);cursor:pointer}.uk-sortable .sortable-handler,.uk-sortable-handle:hover,.uk-sortable-moving,.uk-sortable-moving *,.uk-sortable.sortable-handler>*{cursor:move}.uk-slidenav:active{color:rgba(50,50,50,.9)}.uk-slidenav-previous:before{content:"\f104";font-family:FontAwesome}.uk-slidenav-next:before{content:"\f105";font-family:FontAwesome}.uk-slidenav-position{position:relative}.uk-slidenav-position .uk-slidenav{display:none;position:absolute;top:50%;z-index:1;margin-top:-30px}.uk-slidenav-position:hover .uk-slidenav{display:block}.uk-slidenav-position .uk-slidenav-previous{left:20px}.uk-slidenav-position .uk-slidenav-next{right:20px}.uk-slidenav-contrast{color:rgba(255,255,255,.5)}.uk-slidenav-contrast:focus,.uk-slidenav-contrast:hover{color:rgba(255,255,255,.7)}.uk-slidenav-contrast:active{color:rgba(255,255,255,.9)}/*! UIkit 2.24.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */.uk-tooltip{display:none;position:absolute;max-width:200px;border-radius:3px;background:#424242;color:#fff;padding:3px 16px;line-height:22px;text-shadow:none;min-width:80px;text-align:center;z-index:1114}.uk-tooltip:after{content:"";position:absolute;width:0;height:0;border:5px dashed #333}.uk-sortable,.uk-tab>li>a{position:relative}.uk-tooltip-top-left:after,.uk-tooltip-top-right:after,.uk-tooltip-top:after{bottom:-5px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent;border-top-color:#333}.uk-tooltip-bottom-left:after,.uk-tooltip-bottom-right:after,.uk-tooltip-bottom:after{top:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent;border-bottom-color:#333}.uk-tooltip-left:after,.uk-tooltip-right:after{top:50%;margin-top:-5px;border-top-color:transparent;border-bottom-color:transparent}.uk-tooltip-bottom:after,.uk-tooltip-top:after{left:50%;margin-left:-5px}.uk-tooltip-bottom-left:after,.uk-tooltip-top-left:after{left:10px}.uk-tooltip-bottom-right:after,.uk-tooltip-top-right:after{right:10px}.uk-tooltip-left:after{right:-5px;border-left-style:solid;border-right:none;border-left-color:#333}.uk-tooltip-right:after{left:-5px;border-right-style:solid;border-left:none;border-right-color:#333}.uk-tooltip .uk-tooltip-inner{display:inline-block;vertical-align:top;overflow:hidden;width:100%}.uk-tooltip:after{display:none!important}.uk-tooltip.long-text{text-align:left}.uk-tooltip.long-text .uk-tooltip-inner{white-space:normal;overflow:visible;line-height:18px;padding:4px 0}.uk-tooltip-small{-webkit-transform:scale(.85);transform:scale(.85)}.uk-tab{border-bottom-color:rgba(0,0,0,.12)}.uk-sticky-placeholder .uk-tab{background:#fff;padding-top:8px}.uk-tab>li{margin-bottom:0;margin-top:0;z-index:1}.uk-tab>li>a{text-transform:uppercase;color:#212121;border:none;border-bottom:2px solid transparent;border-radius:0!important;font-weight:500;min-width:100px;max-width:100%;text-align:center;-webkit-transition:all 220ms cubic-bezier(.4,0,.2,1);transition:all 220ms cubic-bezier(.4,0,.2,1);padding:8px!important;margin:0!important;top:1px}.uk-tab>li>a:focus,.uk-tab>li>a:hover{background:0 0;color:#212121;border-bottom-color:#b2dbfb}.uk-tab>li.uk-active>a{background:0 0!important;border-bottom-color:#2196f3}.uk-tab-bottom li>a,.uk-tab-left,.uk-tab-right{border-bottom:none}.uk-tab>li.uk-disabled>a,.uk-tab>li.uk-disabled>a:focus,.uk-tab>li.uk-disabled>a:hover{color:#aaa}.uk-tab-bottom li{margin-top:0}.uk-tab-bottom li>a{border-top:2px solid transparent;top:auto;bottom:1px}.uk-tab-left li>a,.uk-tab-right li>a{border-bottom:none;top:auto;bottom:auto}.uk-tab-bottom li>a:focus,.uk-tab-bottom li>a:hover{border-top-color:#b2dbfb}.uk-tab-bottom li.uk-active>a{border-top-color:#2196f3}.uk-tab-left li>a{border-right:2px solid transparent;text-align:right}.uk-tab-left li>a:focus,.uk-tab-left li>a:hover{border-right-color:#b2dbfb}.uk-tab-left li.uk-active>a{border-right-color:#2196f3}.uk-tab-right li>a{border-left:2px solid transparent;text-align:left}.uk-tab-right li>a:focus,.uk-tab-right li>a:hover{border-left-color:#b2dbfb}.uk-tab-right li.uk-active>a{border-left-color:#2196f3}.uk-tab-responsive li a{border:none!important}.uk-tab-responsive>a:before{content:'\e5d2';font-family:"Material Icons";color:#727272;margin-right:8px;vertical-align:-4px;font-size:18px}.uk-tab-icons>li>a{min-width:64px}.uk-tab-icons>li>a>.material-icons{font-size:24px}.uk-text-truncate{display:block}/*! UIkit 2.24.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */.uk-sortable>:last-child{margin-bottom:0}.uk-sortable-dragged{position:absolute;z-index:1050;pointer-events:none}.uk-sortable-placeholder{opacity:0}.uk-sortable-handle{-ms-touch-action:none;touch-action:none}.uk-sortable>*{-ms-touch-action:auto;touch-action:auto}.uk-switcher{overflow:hidden}@media (min-width:1480px){.uk-grid-width-xLarge-1-1>*,.uk-width-xLarge-1-1{width:100%}.uk-grid-width-xLarge-1-2>*,.uk-grid-width-xLarge-2-4>*,.uk-grid-width-xLarge-3-6>*,.uk-grid-width-xLarge-5-10>*,.uk-width-xLarge-1-2,.uk-width-xLarge-2-4,.uk-width-xLarge-3-6,.uk-width-xLarge-5-10{width:50%}.uk-grid-width-xLarge-1-3>*,.uk-grid-width-xLarge-2-6>*,.uk-width-xLarge-1-3,.uk-width-xLarge-2-6{width:33.333%}.uk-grid-width-xLarge-2-3>*,.uk-grid-width-xLarge-4-6>*,.uk-width-xLarge-2-3,.uk-width-xLarge-4-6{width:66.666%}.uk-grid-width-xLarge-1-4>*,.uk-width-xLarge-1-4{width:25%}.uk-grid-width-xLarge-3-4>*,.uk-width-xLarge-3-4{width:75%}.uk-grid-width-xLarge-1-5>*,.uk-grid-width-xLarge-2-10>*,.uk-width-xLarge-1-5,.uk-width-xLarge-2-10{width:20%}.uk-grid-width-xLarge-2-5>*,.uk-grid-width-xLarge-4-10>*,.uk-width-xLarge-2-5,.uk-width-xLarge-4-10{width:40%}.uk-grid-width-xLarge-3-5>*,.uk-grid-width-xLarge-6-10>*,.uk-width-xLarge-3-5,.uk-width-xLarge-6-10{width:60%}.uk-grid-width-xLarge-4-5>*,.uk-grid-width-xLarge-8-10>*,.uk-width-xLarge-4-5,.uk-width-xLarge-8-10{width:80%}.uk-grid-width-xLarge-1-6>*,.uk-width-xLarge-1-6{width:16.666%}.uk-grid-width-xLarge-5-6>*,.uk-width-xLarge-5-6{width:83.333%}.uk-grid-width-xLarge-1-10>*,.uk-width-xLarge-1-10{width:10%}.uk-grid-width-xLarge-3-10>*,.uk-width-xLarge-3-10{width:30%}.uk-grid-width-xLarge-7-10>*,.uk-width-xLarge-7-10{width:70%}.uk-grid-width-xLarge-9-10>*,.uk-width-xLarge-9-10{width:90%}}.lte-ie9 [class*=uk-animation-]{opacity:1!important}.snackbar-container{transition:all .5s ease;transition-property:top,right,bottom,left,opacity;font-family:Roboto,sans-serif;font-size:14px;min-height:14px;background-color:#070b0e;position:fixed;display:block;justify-content:space-between;align-items:center;color:#fff;line-height:22px;padding:18px 24px;bottom:0;top:0;opacity:0;z-index:999999}.snackbar-container .action{background:inherit;display:inline-block;border:none;font-size:inherit;text-transform:uppercase;color:#4caf50;margin:0 0 0 24px;padding:0;min-width:min-content;cursor:pointer}input.error,input.valid,select.error,select.valid{background-position:right 5px center;background-repeat:no-repeat}@media (min-width:640px){.snackbar-container{min-width:288px;max-width:568px;display:inline-flex;border-radius:2px;margin:24px;bottom:-100px}}@media (max-width:640px){.snackbar-container{left:0;right:0}}.snackbar-pos.bottom-center{top:auto!important;bottom:0;left:50%;transform:translate(-50%,-50%)}.snackbar-pos.bottom-left{top:auto!important;bottom:0;left:0}.snackbar-pos.bottom-right{top:auto!important;bottom:0;right:0}.snackbar-pos.top-left{bottom:auto!important;top:0;left:0}.snackbar-pos.top-center{bottom:auto!important;top:0;left:50%;transform:translate(-50%,-50%)}.snackbar-pos.top-right{bottom:auto!important;top:0;right:0}.c3 svg{font:10px sans-serif;-webkit-tap-highlight-color:transparent}.c3 line,.c3 path{fill:none;stroke:#000}.c3 text{-webkit-user-select:none;-moz-user-select:none;user-select:none}.c3-bars path,.c3-event-rect,.c3-legend-item-tile,.c3-xgrid-focus,.c3-ygrid{shape-rendering:crispEdges}.c3-chart-arc path{stroke:#fff}.c3-chart-arc text{fill:#fff;font-size:13px}.c3-grid line{stroke:#aaa}.c3-grid text{fill:#aaa}.c3-xgrid,.c3-ygrid{stroke-dasharray:3 3}.c3-text.c3-empty{fill:grey;font-size:2em}.c3-line{stroke-width:1px}.c3-circle._expanded_{stroke-width:1px;stroke:#fff}.c3-selected-circle{fill:#fff;stroke-width:2px}.c3-bar{stroke-width:0}.c3-bar._expanded_{fill-opacity:.75}.c3-target.c3-focused{opacity:1}.c3-target.c3-focused path.c3-line,.c3-target.c3-focused path.c3-step{stroke-width:2px}.c3-target.c3-defocused{opacity:.3!important}.c3-region{fill:#4682b4;fill-opacity:.1}.c3-brush .extent{fill-opacity:.1}.c3-legend-item{font-size:12px}.c3-legend-item-hidden{opacity:.15}.c3-legend-background{opacity:.75;fill:#fff;stroke:#d3d3d3;stroke-width:1}.c3-title{font:14px sans-serif}.c3-tooltip-container{z-index:10}.c3-tooltip{border-collapse:collapse;border-spacing:0;background-color:#fff;empty-cells:show;-webkit-box-shadow:7px 7px 12px -9px #777;-moz-box-shadow:7px 7px 12px -9px #777;box-shadow:7px 7px 12px -9px #777;opacity:.9}.c3-tooltip tr{border:1px solid #CCC}.c3-tooltip th{background-color:#aaa;font-size:14px;padding:2px 5px;text-align:left;color:#FFF}.c3-tooltip td{font-size:13px;padding:3px 6px;background-color:#fff;border-left:1px dotted #999}.c3-tooltip td>span{display:inline-block;width:10px;height:10px;margin-right:6px}.c3-tooltip td.value{text-align:right}.c3-area{stroke-width:0;opacity:.2}.c3-chart-arcs-title{dominant-baseline:middle;font-size:1.3em}.c3-chart-arcs .c3-chart-arcs-background{fill:#e0e0e0;stroke:none}.c3-chart-arcs .c3-chart-arcs-gauge-unit{fill:#000;font-size:16px}.c3-chart-arcs .c3-chart-arcs-gauge-max,.c3-chart-arcs .c3-chart-arcs-gauge-min{fill:#777}.c3-chart-arc .c3-gauge-value{fill:#000}input.error,select.error{border-color:#b94a48;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAARCAYAAAA/mJfHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAYSmlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjarVllVBV/t94TJ6hDdx26pLu7QboVOHRzODQYoIAICmKggoKCiogKBiklJqKIKKhYhIgoKgaKinI/gP7f9733frhr3d+HWc888+y9n73XrJk18wMQFqDR6XEoB0B8QgrD3daC6uvnTyW9ABSEgAJrQJUWmkw3d3V1gv95IQBfRwEBALivTKPT4+D/tjjDwpNDARBXAAgJSw6NB0AuAuBCoXRGCgBhCACk0lPoKQCELwDAw/D18wcgkgGAJ3IFiwAAT8gKVgMAHoanuyUA0QqAzEqjMSIBKK4AQE0LjUwBoNABiFwJYdEJADx5AEST0ChaGIDQVQBYEx+fGAYgNA8A8iH/kify33KG/M1Jo0X+xSu9AAAA2So6mR5Hy4T/7xUfl/qnhiQAsEYx7NwBgAcAORmb6OgOAKwASGdCyFoXAOACQG5GhwGs4rGoVDuvVf1caLKlPwDwAaAQRrNyBAARAJQvNdbLfBVr0BgAK3p0bXSKvecqDmEkuq/mR9PCk609/uCocHun1ZyFCXFr/+CqiGgbewDgAEAvZkV5+qz4RK+mRXuvBQAKADqUHOvhuKp/nhVlufaPhpHq7gUA0gDolwiGjfuKBhOIT/7TF6YSSrP2AAABAMwsJcrTbiUW8w1P9nX64y0s3Mp6xQMWFp7gteoZS6GnWLivxhbQ41xX9VhVeJyt+8qcsabkNI8/scMpDM/VmWOTMTQH1xX/2Fd6iqvnijccByewBCugQipQIQQSIQaiB+da54C6esUGaMCASAgH5VXmT4QP0IABCUADD8iCd5AA4ZD8N84CaMCAcEiDBPj1l105KkME0IABaRAOyRALr4AB8bgQboIb4k64CW6Gm+AauB6u/yeOyv6nKtGaaEW0I9oQFf76CIVEiINEYED0f+f+iSS8ItwjTBJGCOOEx+AIcRAOqcCAcEj425k3vAQGRP85D4rewvgP51RwhnFIXZ1KOIRAAsz+0eCyuAaujVvgxrgJrg9UnA8XAmVcC9fDzXFT3BDXxvX/zWHqXxf/zPI/64VDwr/1uMpTFCnaqy5C/vq3/Kv6zyyW/zKjMEgEx/9UYoXYBewGdhnrxzqxVqBiPVgbdhvrwlr/5U54CQyI/FvNHcIhAWIhDqL/aNQa1GbVlv5bddqqAwaEQzJASnhGCgCAZSI9kxEdGZVCNafT48Kp9gmhKmuoGmrq2gC+fv7UlcfHZ3dAAADhu/sPl6gOoB8KgGz9hwt+D9AaA0Dm+oeTbQVg1wDo3x+aykhb4XAAAAIwAzvwgCCIgRTIgzJogA4YghlYgwO4gCf4QSCEQhTEAwPSYQPkQgEUwy7YBxVQDbVwEs7AeWiFTrgM12EAhmAEnsA4TMNbmIev8BNBEBLChnAjgog4IoMoIRqIHmKCWCNOiDvihwQjkUgCkopsQLYixchupAI5itQj55B25DLSj9xDHiMTyCzyCfmBYigryoOKorKoKqqHmqOOqCe6Ho1Ek9AsNA8tQQ+gNehptAW9jA6gI+g4+hZdwABjwfgwCUwZ08MsMRfMH4vAGNgmrAgrx2qws1gHdgO7j41jc9h3nIhz41RcGTfE7XAvPBRPwjfhO/AK/CTegl/F7+MT+Dz+m8BGECEoEQwI9gRfQiQhnVBAKCecIDQTrhFGCNOEr0QikY8oR9Ql2hH9iDHEbOIO4mFiI7GXeI84RVwgkUiCJCWSMcmFRCOlkApIB0mnST2kYdI0aZHMQhYna5BtyP7kBPIWcjn5FLmbPEyeIf9k4mCSYTJgcmEKY8pkKmU6xtTBdJdpmuknMyezHLMxsydzDHMu8wHms8zXmJ8yf2ZhYZFk0WdxY4lmyWE5wNLEcpNlguU7KxerIqsl6zrWVNYS1jrWXtbHrJ/Z2Nhk2czY/NlS2ErY6tmusD1nW6RwU1Qo9pQwymZKJaWFMkx5z87ELsNuzh7InsVezn6B/S77HAcThyyHJQeNYxNHJUc7x0OOBU5uTnVOF854zh2cpzj7OV9zkbhkuay5wrjyuGq5rnBNcWPcUtyW3KHcW7mPcV/jnuYh8sjx2PPE8BTznOEZ5Jnn5eLV4vXmzeCt5O3iHefD+GT57Pni+Er5zvON8v3gF+U35w/n385/ln+Y/5uAsICZQLhAkUCjwIjAD0GqoLVgrGCZYKvgMyFcSFHITShdqEromtCcMI+woXCocJHweeExEVREUcRdJFukVuS2yIKomKitKF30oOgV0TkxPjEzsRixvWLdYrPi3OIm4tHie8V7xN9Qeanm1DjqAepV6ryEiISdRKrEUYlBiZ+ScpJeklskGyWfSTFL6UlFSO2V6pOalxaXdpbeIN0gPSbDJKMnEyWzX+aGzDdZOVkf2W2yrbKv5QTk7OWy5BrknsqzyZvKJ8nXyD9QICroKcQqHFYYUkQVtRWjFCsV7yqhSjpK0UqHle6tIazRX5OwpmbNQ2VWZXPlNOUG5QkVPhUnlS0qrSrvVaVV/VXLVG+o/lbTVotTO6b2RJ1L3UF9i3qH+icNRY1QjUqNB5psmjaamzXbND9qKWmFa1VpPdLm1nbW3qbdp/1LR1eHoXNWZ1ZXWjdY95DuQz0ePVe9HXo39Qn6Fvqb9Tv1vxvoGKQYnDf4YKhsGGt4yvC1kZxRuNExoyljSWOa8VHjcROqSbDJEZNxUwlTmmmN6aSZlFmY2QmzGXMF8xjz0+bvLdQsGBbNFt8sDSw3WvZaYVa2VkVWg9Zc1l7WFdbPbSRtIm0abOZttW2zbXvtCHaOdmV2D+1F7UPt6+3nHXQdNjpcdWR19HCscJx0UnRiOHU4o84Oznucn66VWZuwttUFXOxd9rg8c5VzTXK95EZ0c3WrdHvlru6+wf2GB7dHkMcpj6+eFp6lnk+85L1Svfq82b3Xedd7f/Ox8tntM+6r6rvRd8BPyC/ar82f5O/tf8J/IcA6YF/A9DrtdQXrRtfLrc9Y3x8oFBgX2BXEHkQLuhBMCPYJPhW8RHOh1dAWQuxDDoXMh1qG7g99G2YWtjdsNtw4fHf4TIRxxO6I15HGkXsiZ6NMo8qj5qItoyuiP8bYxVTHfIt1ia2LXY7ziWuMJ8cHx7cncCXEJlxNFEvMSLxHV6IX0MeTDJL2Jc0zHBknkpHk9cltKTwp9JTbqfKp+akTaSZplWmL6d7pFzI4MxIybmcqZm7PnMmyyTqejWeHZvdtkNiQu2Fio/nGo5uQTSGb+jZLbc7bPJ1jm3Mylzk3NvfOFrUtu7d82eqztSNPNC8nbyrfNr+hgFLAKHi4zXBbdSFeGF04uF1z+8Htv4vCim4VqxWXFy/tCN1xa6f6zgM7l0siSgZLdUqrdhF3JewaLTMtO7mbc3fW7qk9znta9lL3Fu39si9oX3+5Vnn1fub9qfvHDzgdaDsofXDXwaWKqIqRSovKxkMih7Yf+nY47PBwlVnV2WrR6uLqH0eijzw6anu0pUa2pryWWJtW++qY97Ebx/WO158QOlF84lddQt34SfeTV+t16+tPiZwqbUAbUhtmT687PXTG6kzbWeWzRxv5GouboCm16c254HOj5x3P913Qu3D2oszFQ83czUUtSEtmy3xrVOt4m1/bvXaH9r4Ow47mSyqX6jolOiu7eLtKu5m787qXe7J6FnrpvXOXIy9P9QX1Pbnie+XBVberg9ccr928bnP9yg3zGz03jW929hv0t9/Su9U6oDPQclv7dvMd7TvNgzqDLXd177YN6Q913DO61z1sOnz5vtX96w/sHwyMrB25N+o1+ujhuofjj8IevX4c9/jjWNrYzyc5TwlPi55xPCt/LvK85oXCi8ZxnfGuCauJ25Mek0+mQqfevkx+uTSd94rtVfmM+Ez9a43XnbM2s0NvAt5Mv6W//TlX8I7z3aH38u8vfjD7cHved376I+Pj8qcdnwU/133R+tK34Lrw/Gv815/fihYFF09+1/t+44fPj5mf6UukpQO/FH51/Hb8/XQ5fnmZTmPQAAAAAwA0IgLgUx0Amx8A9xAAM2Xl+2t1YQgACgAkEAMHKIYpRBFJQHpRQTQFHcPssSu4Lf6AEE/kJPaRNpBNmEhMz5jbWQ6xlrLVUZ5ycHA6cm3n7ufl5FvHf1oQF6IJd4lSxXaIL0qESY5Jr5Xpl1OVL1F4q2S/plr5q6ql2k71IU02LQvtZJ1Dur164/q/DPmNlIz1TaxN3c1CzZMt8iz3WzVY99jct521W3bgdVzjZOkcsDbaJc013223e7VHg2erV5/3gM+w72O/F/5TAa/XvVv/OvBp0GBwD60xpCp0Z1hWeESEW6RhlHQ0JfprzIvY63H18TsT6IkedN0koaQlxvPk3pTa1Py0iHT7DKVM5sw3WbezmzYc2Ji3KX1zUg4jN2tL0dajeV35L7YxFRptpxfVFo/uZC4xKo3fVVU2uPvX3jX7AsqL9rccGK9gqdQ+FHR4e9X56idH8RrlWu9jm4+fPHGvbrGeesqpYcPp82c+Nho0lZ77cCHg4t0Wl9YH7UYdKZfqO592s/Ro9npfTurLv1J2tfxa+fWyG4U3t/Zvu7VzYOft/Dspgz53Ve7+HOq9lz2sM/z1/sMH7SMVoxsfBj2yeCwzxjT27sm9p83PKp5vfBE8bjWhMMkx+X3q1cvR6f5Xl2cuvW6fbX9z/G3JXNq7wPfWH5TmOeYXPo596v589Ev+QtRXx2+qi9yL374//dH7s2Yp71f4b6tlyeVlACCCEJhBBlxDuBEnZBfyAtVES9DPWBA2invhzwh0IoXYSgonC5HHmA4xR7JYsBqzeVKi2HM4jnBe5prl4eW14svkbxT4IKQizBDpFGMR96aekliWMpfOlemRXZLXVYhRPKw0sOaTCq+qppqdeoBGpGaSVqb2Rp0s3Ri9AH0nA2NDNSNJY14TsskP03dmE+YjFrcsu60uWNfZHLAttEu3j3Lwc7Rz0nOWW8vrgrt8cZ10u+fe69HkWeVV6J3sE+hr76fpLxpADHi/bnR9V2BtUFFwIs0zRCuUNXQyrD28NCIi0iiKM+pV9KWYstjwOIN49viphNbEQrpfklLSEmMw+UgKI9UyjTdtJr09Y0dmYJZaNpr9cEPjxuJN8Zu9cqxyDbbobzXOs8v3LUjYtq3w+PYrRRPFv3eKlOiXeu9KLtu1+/Se/r2vytH9Igd0DrpVxFcWHzp9eKjq6xHJo641W2vbj308oVKXdPJi/bcG/dMbznQ3QpP5ua3nr10kNNu2FLbeaCd1WF/a0tnV9aVHttfjcnZf1ZVLV0euzV7/dhPv574lMaB62/iO06D/3aih9HsFw/vu1zxoHOkc7X84+mj68Zcn2FOeZzLP9V44jUdO1E7OvpSb9n9VMHPq9Y3ZiTeLc5R3Mu9NPwTM53wc+qz5Zc/C52/uixd/CPzMX1r8nb68DAA4cIIirIUc6EVIiAGSgrSiKOqMHkF/YoHYLdwIbyHoEfqIrsQpUjZZmHyDaSdzKIsRqzDrb7ZJygB7M8dxzgNcJdyFPPm8BXzF/HsEqgUbhNqEu0S6RLvFesS7qZckmiUbpA5LF8ukyq6TM5OXVACFJ4qtSsVrvJWpym9UmlVz1BzV+dQnNBo0U7VMtZm07+sc1o3S09Jb1O82yDd0NOIyGjOuMYkx1TBdMrtuXmax3lLR8pvVFetSmwBbOdtPdt32RQ7ejhKOb51anHPWOrnwuUy4Nrgluxt6oB63PHd7+XtTvWd8zvqm+hn6o/79AaXrPNbzrX8cWBm0Plg0+BntcMj6UJHQsbAD4d4R3BF3I4ujrKMh+lJMWqx67FxcXXxIgkjCw8Q99LVJ5KTLjKxkzeS5lOOpgWn8aXfTt2WYZixmNmVFZ1OzH2/Yu9Fzk+Cm6c1tOXtzM7dEbF2X55cfUBC+LbUwf3t50Ynilh3Xd46UTJd+KcN2c++R3Ku2z6Dccr/DAbeDfhUhlYmHNh/eU3W6euDIhxqZ2sxjQyfk6jadHD2l3JB3+slZ9cbCpufndS4UX3zRotm6re1ph+alos7JbqOeA71f+zyvNF+Tu37spnL/tYHYO9KDc0M3hs89qB9tenR57NkzeKE2UfeyYKboTet79o+FCwKLzUs+y8sAK//hAACIOgDHpwC8jwK4BQDUKQHIVAJQeABc2QA89QG1KAXk8UFAbM/+fX+wgRzYQARsg5PQD28RCqKOeCFZyGGkE3mCLKGiqCkaghagp9C76BdMGDPHorBdWDs2ibPg2ngwvgNvw18SuAimhATCUcIIkZloTswgnifOkeRJkaQ60ixZhZxK7mFiYfJnOs2MMPsyn2ehsCSwDLPqsR5hI7Mx2J5THCjt7PLsFRxsHLkc3zgTOV9zhXK94A7hnuGJ5/nKm8tH4TvMr8p/RSBAYEGwTEhd6L5wuoioyJDoNjELcRC/TM2XcJYUlHwtdUm6TCZG1kZORp5VfkFhUnFY6eqaDuULKk2qjWrn1ds0ejUHtJ5rf9TF9Xj1pQyUDdWN1IwVTaimXGao2QfzJxY9ljVWhdaJNr62Fnaq9mIO7I6Y46LTvPObtdMuk64Tbi/d33p89vzlzeTD7yvnp+/vHBC6Lnv9vsCmoMHgdyGUUM0wv/DNEbWR16Kmon/FcsVJxCsmqCQq0xWSJBl8yUzJP1Jm04TSnTPyMnuyfm+w3rhn09sc59xLW7Xy2gvst01t31YsseNsiVnpeFnZHt99xvvtD6ZXXqsSPkKpQWu/H/9U975+rmHuzIfGhXO/LpJbhNtUO6w6/bqje9P6Nl3Nub7xZtqtuNvBg8VDbcNvRiQern9c/eTVc/Xx3MmRaaWZwtmZOdv3pz5yfM5eeLcY8WPmF315GQDYQQXcIBUqoAdeIiyIBhKA5CH1yADyAeVBDdBgtBBtQh9jGKaM+WH52DnsBc6GG+GxeCV+B/9NUCeEEQ4RRojsRCfiduJNEjPJmbSbNEaWITPIfUx8THFM15mlmLcwT7M4sHSwKrFWs/Gy7aAQKVvYgT2XA+Mo5KRw7ueS5GrkNuMe4YnnJfLW8JnzTfIXCCgLjArmCqkJjQvvEbETxUX7xLaK21BZqaMSNZLJUjbSYtKLMqOyrXJH5PcrlCmWKJWs2a1coXJCtVntpvpzjW9avNoGOqG6JXpd+h8MZYyCjCtNnpiJmYdZNFr+tLa2KbYdsCc46DqGOBU4n1h72WXMdd4d9+DzVPQy8/bzSfYt9TvrPxjwcT1foHFQRHAZrTvkfZhUuG9EaeT1qF8xWrHRcVXx9xJRukZSMKMk+VLK6zT2dN2M4MzirLbsmY38m+w3b8w5n/tmq1Te+vyKgkeF/Nv9iqqKX+5ULskovV4msDtxz+19auWVBygHt1eyHtpXJVd942h0Leux8yf8T+L1TQ1BZzjOXmnKOK964XVzXWt0u3LHp86O7i29Tn38V6auNd3Y0O8wIHh7aNDr7tS9rPtiDwZHix95jMk+RZ5Nvrg+0TBVOs2Y8ZgVflM9J/fu3AeT+cFPQZ8/LOR8Y188+EPsZ/Uvod+ly8sAwA/mQIdquAvLiAYSgRxEriGfUUnUHc1DW9E5TALzxXZh/TiGm+BZeCu+QNAmpBG6iASiC7GS+IZkSNpFek22Ih9jIjPRmZ4yOzH3suiydLBasN5m82N7Q9nEzsvexOHC8ZGznMuEa5b7MI8HLxvvLb7t/E4CXAJjgseFGMLmItwib0Wvix0TL6DGSnhKmktpSMvJiMsKywnJUxWUFPWVHNfQlDeoVKh2qb3UoGgaaTG0z+p80NPWzzUYNpI3zjN5ZeZk3mqpZHXMRsK21l7BodnJyvmRC92N1b3JM8CbyafLLy1Aa91iYG/wzpDAMJ0I1sjH0RWx9nGzCZmJS0kpjOkU19QL6ZwZjMwH2QYbjm5i2ZyRM7PFd+vtfIuCjkKt7S3Fxjv6S/xK35Zt2sO5t6ZcdX/7QZOKnkNGh1uqCUecju6reXFM8Xj6iWsneesjTnWcppwJO9vZxHuOfn7gonxzUcu7Nrf21ktinQVd73t8ei/3KV3Zd3X5esyNB/1mtxpu891JHrw1JHwvavj0/TcjUqM+D7c8Ovn41tj0k6VnHM/FXyiNa08YTJpMmb00mzZ5ZTCj+1p9VvGN5FvK29m59nfp77Xfz304Pu/3kflj56eIzxyf276sW4CFmq8WXye/bV4UWWz/7vV9/seOn3I/+5YClxZ/7fmt+rt/OWx5GSA5QlNjZSeK1QKA8Hx5+bMsAGk3wK+y5eWfNcvLv2oBsKcAvXErezsAAEQOgEO1/9sey38BOi/O6KPLSP4AADwwaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzAxNCA3OS4xNTY3OTcsIDIwMTQvMDgvMjAtMDk6NTM6MDIgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICAgICAgICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChNYWNpbnRvc2gpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE1LTA1LTE1VDEwOjM4OjU1KzAyOjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNS0wNS0xNVQxMDozODo1NSswMjowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTUtMDUtMTVUMTA6Mzg6NTUrMDI6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjU4ZmM5Yzg4LWFiYWUtNGEzMC1iNGUxLTUyMTQyZWYzMzM4NDwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjM4YmMxOTAwLTNiNmMtMTE3OC05ZDQ5LWY0MzVhZTM4NTFiMTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmQ1ZjJhY2QyLTQ2ZDUtNGVlZS05NDllLThkMDI0MTljZjA3ODwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpkNWYyYWNkMi00NmQ1LTRlZWUtOTQ5ZS04ZDAyNDE5Y2YwNzg8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTUtMDUtMTVUMTA6Mzg6NTUrMDI6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChNYWNpbnRvc2gpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo1OGZjOWM4OC1hYmFlLTRhMzAtYjRlMS01MjE0MmVmMzMzODQ8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTUtMDUtMTVUMTA6Mzg6NTUrMDI6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChNYWNpbnRvc2gpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6U2VxPgogICAgICAgICA8L3htcE1NOkhpc3Rvcnk+CiAgICAgICAgIDxwaG90b3Nob3A6VGV4dExheWVycz4KICAgICAgICAgICAgPHJkZjpCYWc+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8cGhvdG9zaG9wOkxheWVyTmFtZT7DlzwvcGhvdG9zaG9wOkxheWVyTmFtZT4KICAgICAgICAgICAgICAgICAgPHBob3Rvc2hvcDpMYXllclRleHQ+w5c8L3Bob3Rvc2hvcDpMYXllclRleHQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHBob3Rvc2hvcDpMYXllck5hbWU+YTwvcGhvdG9zaG9wOkxheWVyTmFtZT4KICAgICAgICAgICAgICAgICAgPHBob3Rvc2hvcDpMYXllclRleHQ+YTwvcGhvdG9zaG9wOkxheWVyVGV4dD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOkJhZz4KICAgICAgICAgPC9waG90b3Nob3A6VGV4dExheWVycz4KICAgICAgICAgPHBob3Rvc2hvcDpDb2xvck1vZGU+MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHBob3Rvc2hvcDpJQ0NQcm9maWxlPkRpc3BsYXk8L3Bob3Rvc2hvcDpJQ0NQcm9maWxlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MTk8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MTc8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/Pmkb7KYAAAAgY0hSTQAAbZgAAHOOAAD6zAAAhPoAAHmBAAD9EwAAMG0AABIpDR4mTgAAAOZJREFUeNrMlL0NwyAQhZ+jLJAVkE4M4BVMR50RvIIzAivYI6S+zh4hHgAhZYWM4DTnCCFsoshFnkQBB9/9impZFhylEw5UFsaaatbUbj1iTR1ruhRhrKkGMALoWVOXsY8AHIAHa1KlyO4AVq+ONbkE1MhWAejjh+cMbBDPqzqJQAGoM3c/qnLdlPRcod7G+jAVYQJs0zT2QKXRmADMufMcaC9NJR1VW46sD6YI2wC9og7HkV+tD6/SaKQgIytWk9Y0B5tTkPVhljqZnbubNevFs7E+PBNbI9HfrA/DV6Pxn7/Gr3oPAAwLXEdIhTGuAAAAAElFTkSuQmCC);-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}input.valid,select.valid{border-color:#468847;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAARCAYAAAA/mJfHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAYSmlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjarVllVBV/t94TJ6hDdx26pLu7QboVOHRzODQYoIAICmKggoKCiogKBiklJqKIKKhYhIgoKgaKinI/gP7f9733frhr3d+HWc888+y9n73XrJk18wMQFqDR6XEoB0B8QgrD3daC6uvnTyW9ABSEgAJrQJUWmkw3d3V1gv95IQBfRwEBALivTKPT4+D/tjjDwpNDARBXAAgJSw6NB0AuAuBCoXRGCgBhCACk0lPoKQCELwDAw/D18wcgkgGAJ3IFiwAAT8gKVgMAHoanuyUA0QqAzEqjMSIBKK4AQE0LjUwBoNABiFwJYdEJADx5AEST0ChaGIDQVQBYEx+fGAYgNA8A8iH/kify33KG/M1Jo0X+xSu9AAAA2So6mR5Hy4T/7xUfl/qnhiQAsEYx7NwBgAcAORmb6OgOAKwASGdCyFoXAOACQG5GhwGs4rGoVDuvVf1caLKlPwDwAaAQRrNyBAARAJQvNdbLfBVr0BgAK3p0bXSKvecqDmEkuq/mR9PCk609/uCocHun1ZyFCXFr/+CqiGgbewDgAEAvZkV5+qz4RK+mRXuvBQAKADqUHOvhuKp/nhVlufaPhpHq7gUA0gDolwiGjfuKBhOIT/7TF6YSSrP2AAABAMwsJcrTbiUW8w1P9nX64y0s3Mp6xQMWFp7gteoZS6GnWLivxhbQ41xX9VhVeJyt+8qcsabkNI8/scMpDM/VmWOTMTQH1xX/2Fd6iqvnijccByewBCugQipQIQQSIQaiB+da54C6esUGaMCASAgH5VXmT4QP0IABCUADD8iCd5AA4ZD8N84CaMCAcEiDBPj1l105KkME0IABaRAOyRALr4AB8bgQboIb4k64CW6Gm+AauB6u/yeOyv6nKtGaaEW0I9oQFf76CIVEiINEYED0f+f+iSS8ItwjTBJGCOOEx+AIcRAOqcCAcEj425k3vAQGRP85D4rewvgP51RwhnFIXZ1KOIRAAsz+0eCyuAaujVvgxrgJrg9UnA8XAmVcC9fDzXFT3BDXxvX/zWHqXxf/zPI/64VDwr/1uMpTFCnaqy5C/vq3/Kv6zyyW/zKjMEgEx/9UYoXYBewGdhnrxzqxVqBiPVgbdhvrwlr/5U54CQyI/FvNHcIhAWIhDqL/aNQa1GbVlv5bddqqAwaEQzJASnhGCgCAZSI9kxEdGZVCNafT48Kp9gmhKmuoGmrq2gC+fv7UlcfHZ3dAAADhu/sPl6gOoB8KgGz9hwt+D9AaA0Dm+oeTbQVg1wDo3x+aykhb4XAAAAIwAzvwgCCIgRTIgzJogA4YghlYgwO4gCf4QSCEQhTEAwPSYQPkQgEUwy7YBxVQDbVwEs7AeWiFTrgM12EAhmAEnsA4TMNbmIev8BNBEBLChnAjgog4IoMoIRqIHmKCWCNOiDvihwQjkUgCkopsQLYixchupAI5itQj55B25DLSj9xDHiMTyCzyCfmBYigryoOKorKoKqqHmqOOqCe6Ho1Ek9AsNA8tQQ+gNehptAW9jA6gI+g4+hZdwABjwfgwCUwZ08MsMRfMH4vAGNgmrAgrx2qws1gHdgO7j41jc9h3nIhz41RcGTfE7XAvPBRPwjfhO/AK/CTegl/F7+MT+Dz+m8BGECEoEQwI9gRfQiQhnVBAKCecIDQTrhFGCNOEr0QikY8oR9Ql2hH9iDHEbOIO4mFiI7GXeI84RVwgkUiCJCWSMcmFRCOlkApIB0mnST2kYdI0aZHMQhYna5BtyP7kBPIWcjn5FLmbPEyeIf9k4mCSYTJgcmEKY8pkKmU6xtTBdJdpmuknMyezHLMxsydzDHMu8wHms8zXmJ8yf2ZhYZFk0WdxY4lmyWE5wNLEcpNlguU7KxerIqsl6zrWVNYS1jrWXtbHrJ/Z2Nhk2czY/NlS2ErY6tmusD1nW6RwU1Qo9pQwymZKJaWFMkx5z87ELsNuzh7InsVezn6B/S77HAcThyyHJQeNYxNHJUc7x0OOBU5uTnVOF854zh2cpzj7OV9zkbhkuay5wrjyuGq5rnBNcWPcUtyW3KHcW7mPcV/jnuYh8sjx2PPE8BTznOEZ5Jnn5eLV4vXmzeCt5O3iHefD+GT57Pni+Er5zvON8v3gF+U35w/n385/ln+Y/5uAsICZQLhAkUCjwIjAD0GqoLVgrGCZYKvgMyFcSFHITShdqEromtCcMI+woXCocJHweeExEVREUcRdJFukVuS2yIKomKitKF30oOgV0TkxPjEzsRixvWLdYrPi3OIm4tHie8V7xN9Qeanm1DjqAepV6ryEiISdRKrEUYlBiZ+ScpJeklskGyWfSTFL6UlFSO2V6pOalxaXdpbeIN0gPSbDJKMnEyWzX+aGzDdZOVkf2W2yrbKv5QTk7OWy5BrknsqzyZvKJ8nXyD9QICroKcQqHFYYUkQVtRWjFCsV7yqhSjpK0UqHle6tIazRX5OwpmbNQ2VWZXPlNOUG5QkVPhUnlS0qrSrvVaVV/VXLVG+o/lbTVotTO6b2RJ1L3UF9i3qH+icNRY1QjUqNB5psmjaamzXbND9qKWmFa1VpPdLm1nbW3qbdp/1LR1eHoXNWZ1ZXWjdY95DuQz0ePVe9HXo39Qn6Fvqb9Tv1vxvoGKQYnDf4YKhsGGt4yvC1kZxRuNExoyljSWOa8VHjcROqSbDJEZNxUwlTmmmN6aSZlFmY2QmzGXMF8xjz0+bvLdQsGBbNFt8sDSw3WvZaYVa2VkVWg9Zc1l7WFdbPbSRtIm0abOZttW2zbXvtCHaOdmV2D+1F7UPt6+3nHXQdNjpcdWR19HCscJx0UnRiOHU4o84Oznucn66VWZuwttUFXOxd9rg8c5VzTXK95EZ0c3WrdHvlru6+wf2GB7dHkMcpj6+eFp6lnk+85L1Svfq82b3Xedd7f/Ox8tntM+6r6rvRd8BPyC/ar82f5O/tf8J/IcA6YF/A9DrtdQXrRtfLrc9Y3x8oFBgX2BXEHkQLuhBMCPYJPhW8RHOh1dAWQuxDDoXMh1qG7g99G2YWtjdsNtw4fHf4TIRxxO6I15HGkXsiZ6NMo8qj5qItoyuiP8bYxVTHfIt1ia2LXY7ziWuMJ8cHx7cncCXEJlxNFEvMSLxHV6IX0MeTDJL2Jc0zHBknkpHk9cltKTwp9JTbqfKp+akTaSZplWmL6d7pFzI4MxIybmcqZm7PnMmyyTqejWeHZvdtkNiQu2Fio/nGo5uQTSGb+jZLbc7bPJ1jm3Mylzk3NvfOFrUtu7d82eqztSNPNC8nbyrfNr+hgFLAKHi4zXBbdSFeGF04uF1z+8Htv4vCim4VqxWXFy/tCN1xa6f6zgM7l0siSgZLdUqrdhF3JewaLTMtO7mbc3fW7qk9znta9lL3Fu39si9oX3+5Vnn1fub9qfvHDzgdaDsofXDXwaWKqIqRSovKxkMih7Yf+nY47PBwlVnV2WrR6uLqH0eijzw6anu0pUa2pryWWJtW++qY97Ebx/WO158QOlF84lddQt34SfeTV+t16+tPiZwqbUAbUhtmT687PXTG6kzbWeWzRxv5GouboCm16c254HOj5x3P913Qu3D2oszFQ83czUUtSEtmy3xrVOt4m1/bvXaH9r4Ow47mSyqX6jolOiu7eLtKu5m787qXe7J6FnrpvXOXIy9P9QX1Pbnie+XBVberg9ccr928bnP9yg3zGz03jW929hv0t9/Su9U6oDPQclv7dvMd7TvNgzqDLXd177YN6Q913DO61z1sOnz5vtX96w/sHwyMrB25N+o1+ujhuofjj8IevX4c9/jjWNrYzyc5TwlPi55xPCt/LvK85oXCi8ZxnfGuCauJ25Mek0+mQqfevkx+uTSd94rtVfmM+Ez9a43XnbM2s0NvAt5Mv6W//TlX8I7z3aH38u8vfjD7cHved376I+Pj8qcdnwU/133R+tK34Lrw/Gv815/fihYFF09+1/t+44fPj5mf6UukpQO/FH51/Hb8/XQ5fnmZTmPQAAAAAwA0IgLgUx0Amx8A9xAAM2Xl+2t1YQgACgAkEAMHKIYpRBFJQHpRQTQFHcPssSu4Lf6AEE/kJPaRNpBNmEhMz5jbWQ6xlrLVUZ5ycHA6cm3n7ufl5FvHf1oQF6IJd4lSxXaIL0qESY5Jr5Xpl1OVL1F4q2S/plr5q6ql2k71IU02LQvtZJ1Dur164/q/DPmNlIz1TaxN3c1CzZMt8iz3WzVY99jct521W3bgdVzjZOkcsDbaJc013223e7VHg2erV5/3gM+w72O/F/5TAa/XvVv/OvBp0GBwD60xpCp0Z1hWeESEW6RhlHQ0JfprzIvY63H18TsT6IkedN0koaQlxvPk3pTa1Py0iHT7DKVM5sw3WbezmzYc2Ji3KX1zUg4jN2tL0dajeV35L7YxFRptpxfVFo/uZC4xKo3fVVU2uPvX3jX7AsqL9rccGK9gqdQ+FHR4e9X56idH8RrlWu9jm4+fPHGvbrGeesqpYcPp82c+Nho0lZ77cCHg4t0Wl9YH7UYdKZfqO592s/Ro9npfTurLv1J2tfxa+fWyG4U3t/Zvu7VzYOft/Dspgz53Ve7+HOq9lz2sM/z1/sMH7SMVoxsfBj2yeCwzxjT27sm9p83PKp5vfBE8bjWhMMkx+X3q1cvR6f5Xl2cuvW6fbX9z/G3JXNq7wPfWH5TmOeYXPo596v589Ev+QtRXx2+qi9yL374//dH7s2Yp71f4b6tlyeVlACCCEJhBBlxDuBEnZBfyAtVES9DPWBA2invhzwh0IoXYSgonC5HHmA4xR7JYsBqzeVKi2HM4jnBe5prl4eW14svkbxT4IKQizBDpFGMR96aekliWMpfOlemRXZLXVYhRPKw0sOaTCq+qppqdeoBGpGaSVqb2Rp0s3Ri9AH0nA2NDNSNJY14TsskP03dmE+YjFrcsu60uWNfZHLAttEu3j3Lwc7Rz0nOWW8vrgrt8cZ10u+fe69HkWeVV6J3sE+hr76fpLxpADHi/bnR9V2BtUFFwIs0zRCuUNXQyrD28NCIi0iiKM+pV9KWYstjwOIN49viphNbEQrpfklLSEmMw+UgKI9UyjTdtJr09Y0dmYJZaNpr9cEPjxuJN8Zu9cqxyDbbobzXOs8v3LUjYtq3w+PYrRRPFv3eKlOiXeu9KLtu1+/Se/r2vytH9Igd0DrpVxFcWHzp9eKjq6xHJo641W2vbj308oVKXdPJi/bcG/dMbznQ3QpP5ua3nr10kNNu2FLbeaCd1WF/a0tnV9aVHttfjcnZf1ZVLV0euzV7/dhPv574lMaB62/iO06D/3aih9HsFw/vu1zxoHOkc7X84+mj68Zcn2FOeZzLP9V44jUdO1E7OvpSb9n9VMHPq9Y3ZiTeLc5R3Mu9NPwTM53wc+qz5Zc/C52/uixd/CPzMX1r8nb68DAA4cIIirIUc6EVIiAGSgrSiKOqMHkF/YoHYLdwIbyHoEfqIrsQpUjZZmHyDaSdzKIsRqzDrb7ZJygB7M8dxzgNcJdyFPPm8BXzF/HsEqgUbhNqEu0S6RLvFesS7qZckmiUbpA5LF8ukyq6TM5OXVACFJ4qtSsVrvJWpym9UmlVz1BzV+dQnNBo0U7VMtZm07+sc1o3S09Jb1O82yDd0NOIyGjOuMYkx1TBdMrtuXmax3lLR8pvVFetSmwBbOdtPdt32RQ7ejhKOb51anHPWOrnwuUy4Nrgluxt6oB63PHd7+XtTvWd8zvqm+hn6o/79AaXrPNbzrX8cWBm0Plg0+BntcMj6UJHQsbAD4d4R3BF3I4ujrKMh+lJMWqx67FxcXXxIgkjCw8Q99LVJ5KTLjKxkzeS5lOOpgWn8aXfTt2WYZixmNmVFZ1OzH2/Yu9Fzk+Cm6c1tOXtzM7dEbF2X55cfUBC+LbUwf3t50Ynilh3Xd46UTJd+KcN2c++R3Ku2z6Dccr/DAbeDfhUhlYmHNh/eU3W6euDIhxqZ2sxjQyfk6jadHD2l3JB3+slZ9cbCpufndS4UX3zRotm6re1ph+alos7JbqOeA71f+zyvNF+Tu37spnL/tYHYO9KDc0M3hs89qB9tenR57NkzeKE2UfeyYKboTet79o+FCwKLzUs+y8sAK//hAACIOgDHpwC8jwK4BQDUKQHIVAJQeABc2QA89QG1KAXk8UFAbM/+fX+wgRzYQARsg5PQD28RCqKOeCFZyGGkE3mCLKGiqCkaghagp9C76BdMGDPHorBdWDs2ibPg2ngwvgNvw18SuAimhATCUcIIkZloTswgnifOkeRJkaQ60ixZhZxK7mFiYfJnOs2MMPsyn2ehsCSwDLPqsR5hI7Mx2J5THCjt7PLsFRxsHLkc3zgTOV9zhXK94A7hnuGJ5/nKm8tH4TvMr8p/RSBAYEGwTEhd6L5wuoioyJDoNjELcRC/TM2XcJYUlHwtdUm6TCZG1kZORp5VfkFhUnFY6eqaDuULKk2qjWrn1ds0ejUHtJ5rf9TF9Xj1pQyUDdWN1IwVTaimXGao2QfzJxY9ljVWhdaJNr62Fnaq9mIO7I6Y46LTvPObtdMuk64Tbi/d33p89vzlzeTD7yvnp+/vHBC6Lnv9vsCmoMHgdyGUUM0wv/DNEbWR16Kmon/FcsVJxCsmqCQq0xWSJBl8yUzJP1Jm04TSnTPyMnuyfm+w3rhn09sc59xLW7Xy2gvst01t31YsseNsiVnpeFnZHt99xvvtD6ZXXqsSPkKpQWu/H/9U975+rmHuzIfGhXO/LpJbhNtUO6w6/bqje9P6Nl3Nub7xZtqtuNvBg8VDbcNvRiQern9c/eTVc/Xx3MmRaaWZwtmZOdv3pz5yfM5eeLcY8WPmF315GQDYQQXcIBUqoAdeIiyIBhKA5CH1yADyAeVBDdBgtBBtQh9jGKaM+WH52DnsBc6GG+GxeCV+B/9NUCeEEQ4RRojsRCfiduJNEjPJmbSbNEaWITPIfUx8THFM15mlmLcwT7M4sHSwKrFWs/Gy7aAQKVvYgT2XA+Mo5KRw7ueS5GrkNuMe4YnnJfLW8JnzTfIXCCgLjArmCqkJjQvvEbETxUX7xLaK21BZqaMSNZLJUjbSYtKLMqOyrXJH5PcrlCmWKJWs2a1coXJCtVntpvpzjW9avNoGOqG6JXpd+h8MZYyCjCtNnpiJmYdZNFr+tLa2KbYdsCc46DqGOBU4n1h72WXMdd4d9+DzVPQy8/bzSfYt9TvrPxjwcT1foHFQRHAZrTvkfZhUuG9EaeT1qF8xWrHRcVXx9xJRukZSMKMk+VLK6zT2dN2M4MzirLbsmY38m+w3b8w5n/tmq1Te+vyKgkeF/Nv9iqqKX+5ULskovV4msDtxz+19auWVBygHt1eyHtpXJVd942h0Leux8yf8T+L1TQ1BZzjOXmnKOK964XVzXWt0u3LHp86O7i29Tn38V6auNd3Y0O8wIHh7aNDr7tS9rPtiDwZHix95jMk+RZ5Nvrg+0TBVOs2Y8ZgVflM9J/fu3AeT+cFPQZ8/LOR8Y188+EPsZ/Uvod+ly8sAwA/mQIdquAvLiAYSgRxEriGfUUnUHc1DW9E5TALzxXZh/TiGm+BZeCu+QNAmpBG6iASiC7GS+IZkSNpFek22Ih9jIjPRmZ4yOzH3suiydLBasN5m82N7Q9nEzsvexOHC8ZGznMuEa5b7MI8HLxvvLb7t/E4CXAJjgseFGMLmItwib0Wvix0TL6DGSnhKmktpSMvJiMsKywnJUxWUFPWVHNfQlDeoVKh2qb3UoGgaaTG0z+p80NPWzzUYNpI3zjN5ZeZk3mqpZHXMRsK21l7BodnJyvmRC92N1b3JM8CbyafLLy1Aa91iYG/wzpDAMJ0I1sjH0RWx9nGzCZmJS0kpjOkU19QL6ZwZjMwH2QYbjm5i2ZyRM7PFd+vtfIuCjkKt7S3Fxjv6S/xK35Zt2sO5t6ZcdX/7QZOKnkNGh1uqCUecju6reXFM8Xj6iWsneesjTnWcppwJO9vZxHuOfn7gonxzUcu7Nrf21ktinQVd73t8ei/3KV3Zd3X5esyNB/1mtxpu891JHrw1JHwvavj0/TcjUqM+D7c8Ovn41tj0k6VnHM/FXyiNa08YTJpMmb00mzZ5ZTCj+1p9VvGN5FvK29m59nfp77Xfz304Pu/3kflj56eIzxyf276sW4CFmq8WXye/bV4UWWz/7vV9/seOn3I/+5YClxZ/7fmt+rt/OWx5GSA5QlNjZSeK1QKA8Hx5+bMsAGk3wK+y5eWfNcvLv2oBsKcAvXErezsAAEQOgEO1/9sey38BOi/O6KPLSP4AADwwaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzAxNCA3OS4xNTY3OTcsIDIwMTQvMDgvMjAtMDk6NTM6MDIgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICAgICAgICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChNYWNpbnRvc2gpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE1LTA1LTE1VDEwOjM5OjExKzAyOjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNS0wNS0xNVQxMDozOToxMSswMjowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTUtMDUtMTVUMTA6Mzk6MTErMDI6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOmU3ODMyNmIwLTQ5NmItNGMyMy05ZGI1LTI4OTRkMWQxZWZmYzwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjQxZDQzYTcwLTNiNmMtMTE3OC05ZDQ5LWY0MzVhZTM4NTFiMTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjVkM2FkZDhiLTljMmUtNDU0ZC1iMjFhLTk5ZTliZDY2ODg1MDwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo1ZDNhZGQ4Yi05YzJlLTQ1NGQtYjIxYS05OWU5YmQ2Njg4NTA8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTUtMDUtMTVUMTA6Mzk6MTErMDI6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChNYWNpbnRvc2gpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplNzgzMjZiMC00OTZiLTRjMjMtOWRiNS0yODk0ZDFkMWVmZmM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTUtMDUtMTVUMTA6Mzk6MTErMDI6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChNYWNpbnRvc2gpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6U2VxPgogICAgICAgICA8L3htcE1NOkhpc3Rvcnk+CiAgICAgICAgIDxwaG90b3Nob3A6VGV4dExheWVycz4KICAgICAgICAgICAgPHJkZjpCYWc+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8cGhvdG9zaG9wOkxheWVyTmFtZT7DlzwvcGhvdG9zaG9wOkxheWVyTmFtZT4KICAgICAgICAgICAgICAgICAgPHBob3Rvc2hvcDpMYXllclRleHQ+w5c8L3Bob3Rvc2hvcDpMYXllclRleHQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHBob3Rvc2hvcDpMYXllck5hbWU+YTwvcGhvdG9zaG9wOkxheWVyTmFtZT4KICAgICAgICAgICAgICAgICAgPHBob3Rvc2hvcDpMYXllclRleHQ+YTwvcGhvdG9zaG9wOkxheWVyVGV4dD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOkJhZz4KICAgICAgICAgPC9waG90b3Nob3A6VGV4dExheWVycz4KICAgICAgICAgPHBob3Rvc2hvcDpDb2xvck1vZGU+MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHBob3Rvc2hvcDpJQ0NQcm9maWxlPkRpc3BsYXk8L3Bob3Rvc2hvcDpJQ0NQcm9maWxlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MTk8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MTc8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/Pn/qNPoAAAAgY0hSTQAAbZgAAHOOAAD6zAAAhPoAAHmBAAD9EwAAMG0AABIpDR4mTgAAAMBJREFUeNrE1L0NwyAURtHrKAu4pPUKXsGs4AIGyGRQ2CM4K3gFt3TJCE5DgSL+7FgKEg0SB77HE82+71w1blw47mc3ais6YAGkUW47fbMA6n6Kqa1ogekbSmLaipe2ok9AC9AfeYAWmHycKqgUswOWAIxBbz8BaGJ9pq0IF1e/YYhA0ii3HmmNVKwxhHIxt8IB0ij3rK2ZDGtRAyUx39ExcExB2df09ZDB0sMoN+eyN6VfQ1sxAG0JqsL+9gV9BgBw6UeG/cRoQwAAAABJRU5ErkJggg==);-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}input[type=file].error{color:#b94a48;background:0 0;-webkit-box-shadow:none;box-shadow:none}input[type=file].valid{color:#468847;background:0 0;-webkit-box-shadow:none;box-shadow:none}.form-error{display:block;color:#b94a48;margin-top:5px;margin-bottom:10px;line-height:140%}span.help{color:#999;font-size:90%}input.validating-server-side,select.validating-server-side{opacity:.5;background-image:url(data:image/gif;base64,R0lGODlhEAAQAPQAAP///wAAAPDw8IqKiuDg4EZGRnp6egAAAFhYWCQkJKysrL6+vhQUFJycnAQEBDY2NmhoaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH+GkNyZWF0ZWQgd2l0aCBhamF4bG9hZC5pbmZvACH5BAAKAAAAIf8LTkVUU0NBUEUyLjADAQAAACwAAAAAEAAQAAAFdyAgAgIJIeWoAkRCCMdBkKtIHIngyMKsErPBYbADpkSCwhDmQCBethRB6Vj4kFCkQPG4IlWDgrNRIwnO4UKBXDufzQvDMaoSDBgFb886MiQadgNABAokfCwzBA8LCg0Egl8jAggGAA1kBIA1BAYzlyILczULC2UhACH5BAAKAAEALAAAAAAQABAAAAV2ICACAmlAZTmOREEIyUEQjLKKxPHADhEvqxlgcGgkGI1DYSVAIAWMx+lwSKkICJ0QsHi9RgKBwnVTiRQQgwF4I4UFDQQEwi6/3YSGWRRmjhEETAJfIgMFCnAKM0KDV4EEEAQLiF18TAYNXDaSe3x6mjidN1s3IQAh+QQACgACACwAAAAAEAAQAAAFeCAgAgLZDGU5jgRECEUiCI+yioSDwDJyLKsXoHFQxBSHAoAAFBhqtMJg8DgQBgfrEsJAEAg4YhZIEiwgKtHiMBgtpg3wbUZXGO7kOb1MUKRFMysCChAoggJCIg0GC2aNe4gqQldfL4l/Ag1AXySJgn5LcoE3QXI3IQAh+QQACgADACwAAAAAEAAQAAAFdiAgAgLZNGU5joQhCEjxIssqEo8bC9BRjy9Ag7GILQ4QEoE0gBAEBcOpcBA0DoxSK/e8LRIHn+i1cK0IyKdg0VAoljYIg+GgnRrwVS/8IAkICyosBIQpBAMoKy9dImxPhS+GKkFrkX+TigtLlIyKXUF+NjagNiEAIfkEAAoABAAsAAAAABAAEAAABWwgIAICaRhlOY4EIgjH8R7LKhKHGwsMvb4AAy3WODBIBBKCsYA9TjuhDNDKEVSERezQEL0WrhXucRUQGuik7bFlngzqVW9LMl9XWvLdjFaJtDFqZ1cEZUB0dUgvL3dgP4WJZn4jkomWNpSTIyEAIfkEAAoABQAsAAAAABAAEAAABX4gIAICuSxlOY6CIgiD8RrEKgqGOwxwUrMlAoSwIzAGpJpgoSDAGifDY5kopBYDlEpAQBwevxfBtRIUGi8xwWkDNBCIwmC9Vq0aiQQDQuK+VgQPDXV9hCJjBwcFYU5pLwwHXQcMKSmNLQcIAExlbH8JBwttaX0ABAcNbWVbKyEAIfkEAAoABgAsAAAAABAAEAAABXkgIAICSRBlOY7CIghN8zbEKsKoIjdFzZaEgUBHKChMJtRwcWpAWoWnifm6ESAMhO8lQK0EEAV3rFopIBCEcGwDKAqPh4HUrY4ICHH1dSoTFgcHUiZjBhAJB2AHDykpKAwHAwdzf19KkASIPl9cDgcnDkdtNwiMJCshACH5BAAKAAcALAAAAAAQABAAAAV3ICACAkkQZTmOAiosiyAoxCq+KPxCNVsSMRgBsiClWrLTSWFoIQZHl6pleBh6suxKMIhlvzbAwkBWfFWrBQTxNLq2RG2yhSUkDs2b63AYDAoJXAcFRwADeAkJDX0AQCsEfAQMDAIPBz0rCgcxky0JRWE1AmwpKyEAIfkEAAoACAAsAAAAABAAEAAABXkgIAICKZzkqJ4nQZxLqZKv4NqNLKK2/Q4Ek4lFXChsg5ypJjs1II3gEDUSRInEGYAw6B6zM4JhrDAtEosVkLUtHA7RHaHAGJQEjsODcEg0FBAFVgkQJQ1pAwcDDw8KcFtSInwJAowCCA6RIwqZAgkPNgVpWndjdyohACH5BAAKAAkALAAAAAAQABAAAAV5ICACAimc5KieLEuUKvm2xAKLqDCfC2GaO9eL0LABWTiBYmA06W6kHgvCqEJiAIJiu3gcvgUsscHUERm+kaCxyxa+zRPk0SgJEgfIvbAdIAQLCAYlCj4DBw0IBQsMCjIqBAcPAooCBg9pKgsJLwUFOhCZKyQDA3YqIQAh+QQACgAKACwAAAAAEAAQAAAFdSAgAgIpnOSonmxbqiThCrJKEHFbo8JxDDOZYFFb+A41E4H4OhkOipXwBElYITDAckFEOBgMQ3arkMkUBdxIUGZpEb7kaQBRlASPg0FQQHAbEEMGDSVEAA1QBhAED1E0NgwFAooCDWljaQIQCE5qMHcNhCkjIQAh+QQACgALACwAAAAAEAAQAAAFeSAgAgIpnOSoLgxxvqgKLEcCC65KEAByKK8cSpA4DAiHQ/DkKhGKh4ZCtCyZGo6F6iYYPAqFgYy02xkSaLEMV34tELyRYNEsCQyHlvWkGCzsPgMCEAY7Cg04Uk48LAsDhRA8MVQPEF0GAgqYYwSRlycNcWskCkApIyEAOwAAAAAAAAAAAA==);background-position:right 5px center;background-repeat:no-repeat;background-color:#FFF}div.form-error{background-color:#f2dede;padding:15px;margin-bottom:20px;border:1px solid #b94a48;border-radius:4px}div.form-error strong{font-weight:700;display:block;margin:0;padding:0 0 10px}div.form-error strong,div.form-error ul li{line-height:140%;color:#b94a48;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px}div.form-error ul,div.form-error ul li{background:0 0} \ No newline at end of file diff --git a/public/img/chosen-sprite.png b/public/img/chosen-sprite.png new file mode 100644 index 000000000..02ffd8106 Binary files /dev/null and b/public/img/chosen-sprite.png differ diff --git a/public/img/chosen-sprite@2x.png b/public/img/chosen-sprite@2x.png new file mode 100644 index 000000000..6b5054520 Binary files /dev/null and b/public/img/chosen-sprite@2x.png differ diff --git a/public/uploads/users/aProfile_chris.brame.png b/public/uploads/users/aProfile_chris.brame.png deleted file mode 100644 index 32e7de42b..000000000 Binary files a/public/uploads/users/aProfile_chris.brame.png and /dev/null differ diff --git a/rBuild.js b/rBuild.js deleted file mode 100644 index 953017594..000000000 --- a/rBuild.js +++ /dev/null @@ -1,79 +0,0 @@ -({ - appDir: 'src/public/js', - baseUrl: './', - mainConfigFile: 'src/public/js/config.js', - dir: 'public/js', - removeCombined: true, - preserveLicenseComments: false, - kipDirOptimize: false, - //optimize: 'uglify2', - optimize: 'none', - uglify2: { - mangle: false -}, -modules: [ - { - name: 'trudesk.min', - create: true, - include: [ - 'jquery', - 'jquery_scrollTo', - 'jquery_custom', - 'uikit', - 'angular', - 'angularRoute', - 'angularCookies', - 'angularSanitize', - 'modernizr', - 'fastclick', - 'placeholder', - 'nicescroll', - 'underscore', - 'history', - 'd3', - 'metricsgraphics', - 'd3pie', - 'peity', - 'countup', - 'selectize', - 'waves', - 'formvalidator', - 'snackbar', - - '../../src/permissions/roles', - - 'angularjs/main', - 'angularjs/controllers', - 'app', - - 'modules/ajaxify', - 'modules/ajaximgupload', - 'modules/attachmentUpload', - - 'pages/accounts', - 'pages/dashboard', - 'pages/editaccount', - 'pages/groups', - 'pages/messages', - 'pages/reports', - 'pages/singleTicket', - 'pages/tickets', - 'pages/notices', - 'pages/settings' - ], - shim: { - angular: { - exports: 'angular' - } - } - } -], - paths: { - //foundation: 'empty:', - angular: 'empty:', - angularRoute: 'empty:', - angularCookies: 'empty:', - angularSanitize: 'empty:' -}, -keepBuildDir: true -}) \ No newline at end of file diff --git a/src/cache/index.js b/src/cache/index.js index f2fe21d83..fd86f6f19 100644 --- a/src/cache/index.js +++ b/src/cache/index.js @@ -17,9 +17,8 @@ var NodeCache = require('node-cache'), path = require('path'), nconf = require('nconf'), _ = require('underscore'), - winston = require('winston'); + winston = require('winston'), moment = require('moment'); -var emitter = require('../emitter'); var truCache = {}; var cache; @@ -269,7 +268,7 @@ truCache.refreshCache = function(callback) { truCache.init(function(err) { if (err) { winston.error(err); - process.exit(); + throw new Error(err); } }); }); diff --git a/src/cache/node-cache.js b/src/cache/node-cache.js index 000bca117..6c9f0cc38 100644 --- a/src/cache/node-cache.js +++ b/src/cache/node-cache.js @@ -52,7 +52,6 @@ vsize: 0 }; this._checkData(); - return; } NodeCache.prototype.get = function(key, cb, errorOnMissing) { diff --git a/src/cache/quickStats.js b/src/cache/quickStats.js index 9e5ab667d..cbbfdb88f 100644 --- a/src/cache/quickStats.js +++ b/src/cache/quickStats.js @@ -14,10 +14,6 @@ var _ = require('underscore'); var async = require('async'); -var winston = require('winston'); -var moment = require('moment'); - -var userSchema = require('../models/user'); var ticketSchema = require('../models/ticket'); _.mixin({ @@ -95,7 +91,7 @@ var init = function(tickets, callback) { }; function buildMostRequester(ticketArray, callback) { - var requesters = _.map(ticketArray, function(m,k) { + var requesters = _.map(ticketArray, function(m) { return m.owner.fullname; }); @@ -106,7 +102,7 @@ function buildMostRequester(ticketArray, callback) { return [key, 0]; }))); - r = _.sortKeysBy(r, function(v, k) { + r = _.sortKeysBy(r, function(v) { return -v; }); @@ -124,8 +120,8 @@ function flatten(arr) { } function buildMostComments(ticketArray, callback) { - var commenters = _.map(ticketArray, function(m, k) { - return _.map(m.comments, function(i,j) { + var commenters = _.map(ticketArray, function(m) { + return _.map(m.comments, function(i) { return i.owner.fullname; }); }); @@ -139,7 +135,7 @@ function buildMostComments(ticketArray, callback) { return [key, 0]; }))); - c = _.sortKeysBy(c, function(v, k) { + c = _.sortKeysBy(c, function(v) { return -v; }); @@ -155,7 +151,7 @@ function buildMostAssignee(ticketArray, callback) { return (_.isUndefined(v.assignee) || _.isNull(v.assignee)); }); - var assignees = _.map(ticketArray, function(m,k) { + var assignees = _.map(ticketArray, function(m) { return m.assignee.fullname; }); @@ -178,7 +174,7 @@ function buildMostAssignee(ticketArray, callback) { } function buildMostActiveTicket(ticketArray, callback) { - var tickets = _.map(ticketArray, function(m, k) { + var tickets = _.map(ticketArray, function(m) { return {uid: m.uid, cSize: _.size(m.history) }; }); diff --git a/src/cache/tagStats.js b/src/cache/tagStats.js index 0e30556fc..083fab523 100644 --- a/src/cache/tagStats.js +++ b/src/cache/tagStats.js @@ -14,13 +14,9 @@ var _ = require('underscore'); var async = require('async'); -var winston = require('winston'); var moment = require('moment'); -var userSchema = require('../models/user'); var ticketSchema = require('../models/ticket'); -var tagSchema = require('../models/tag'); - var init = function(tickets, timespan, callback) { var tags = []; @@ -87,7 +83,7 @@ var init = function(tickets, timespan, callback) { return [key, 0]; }))); - tags = _.sortKeysBy(tags, function(value, key) { + tags = _.sortKeysBy(tags, function(value) { return -value; }); diff --git a/src/cache/ticketStats.js b/src/cache/ticketStats.js index 87ce811ce..5c5cde04c 100644 --- a/src/cache/ticketStats.js +++ b/src/cache/ticketStats.js @@ -14,7 +14,6 @@ var _ = require('underscore'); var async = require('async'); -var winston = require('winston'); var moment = require('moment'); var userSchema = require('../models/user'); @@ -186,7 +185,7 @@ var init = function(tickets, callback) { }); }); } - }, function(err, done) { + }, function(err) { callback(err, ex); }); }; @@ -238,7 +237,7 @@ function buildAvgResponse(ticketArray, callback) { }); }, function (err) { - if (err) return c(err); + if (err) return callback(err); var ticketAvgTotal = _($ticketAvg).reduce(function (m, x) { return m + x; diff --git a/src/controllers/accounts.js b/src/controllers/accounts.js index 3ce2fdd0b..1bf5a5c9b 100644 --- a/src/controllers/accounts.js +++ b/src/controllers/accounts.js @@ -15,18 +15,43 @@ var async = require('async'); var _ = require('underscore'); var _s = require('underscore.string'); -var flash = require('connect-flash'); +var winston = require('winston'); var userSchema = require('../models/user'); var groupSchema = require('../models/group'); var permissions = require('../permissions'); -var mongoose = require('mongoose'); var emitter = require('../emitter'); var accountsController = {}; accountsController.content = {}; -accountsController.get = function(req, res, next) { +accountsController.signup = function(req, res) { + var settings = require('../models/setting'); + settings.getSettingByName('allowUserRegistration:enable', function(err, setting) { + if (err) return handleError(res, err); + if (setting && setting.value === true) { + settings.getSettingByName('legal:privacypolicy', function(err, privacyPolicy) { + if (err) return handleError(res, err); + var self = accountsController; + self.content = {}; + self.content.title = "Create Account"; + self.content.layout = false; + self.content.data = {}; + + if (privacyPolicy === null || _.isUndefined(privacyPolicy.value)) + self.content.data.privacyPolicy = 'No Privacy Policy has been set.'; + else + self.content.data.privacyPolicy = privacyPolicy.value; + + return res.render('pub_signup', self.content); + }); + } else { + return res.redirect('/'); + } + }); +}; + +accountsController.get = function(req, res) { var user = req.user; if (_.isUndefined(user) || !permissions.canThis(user.role, 'accounts:view')) { return res.redirect('/'); @@ -97,7 +122,7 @@ accountsController.get = function(req, res, next) { }); }; -accountsController.profile = function(req, res, next) { +accountsController.profile = function(req, res) { var user = req.user; var backUrl = req.header('Referer') || '/'; if (_.isUndefined(user)) { @@ -114,6 +139,7 @@ accountsController.profile = function(req, res, next) { self.content.data = {}; self.content.data.user = req.user; self.content.data.common = req.viewdata; + self.content.data.host = req.hostname; self.content.data.account = {}; async.parallel({ @@ -135,267 +161,269 @@ accountsController.profile = function(req, res, next) { }); }; -accountsController.editAccount = function(req, res, next) { - var user = req.user; - if (_.isUndefined(user) || !permissions.canThis(user.role, 'accounts:edit')) { - req.flash('message', 'Permission Denied.'); - return res.redirect('/accounts'); - } - - var username = req.params.username; - if (_.isUndefined(username)) { - req.flash('message', 'Invalid User.'); - return res.redirect('/accounts'); - } - - var self = this; - self.content = {}; - self.content.title = "Accounts"; - self.content.nav = 'accounts'; - - self.content.data = {}; - self.content.data.user = req.user; - self.content.data.common = req.viewdata; - self.content.data.account = {}; - - async.parallel({ - roles: function (callback) { - callback(null, permissions.roles); - }, - - groups: function(callback) { - groupSchema.getAllGroups(function(err, grps) { - callback(err, grps); - }); - }, - - account: function(callback) { - userSchema.getUserByUsername(username, function (err, obj) { - callback(err, obj); - }); - } - }, function(err, result) { - if (err) { - req.flash('message', err.message); - winston.warn(err); - return res.redirect('/accounts'); - } - - self.content.data.account = result.account; - self.content.data.roles = result.roles; - result.groups.members = undefined; - result.groups.sendMailTo = undefined; - self.content.data.groups = _.sortBy(result.groups, 'name'); - - res.render('subviews/editAccount', self.content); - }); -}; - -accountsController.postEdit = function(req, res, next) { - var user = req.user; - if (_.isUndefined(user) || !permissions.canThis(user.role, 'accounts:edit')) { - req.flash('message', 'Permission Denied.'); - return res.redirect('/accounts'); - } - - var self = this; - self.content = {}; - self.content.title = "Accounts"; - self.content.nav = 'accounts'; - - self.content.data = {}; - self.content.data.user = user; - self.content.data.common = req.viewdata; - - async.parallel({ - groups: function(callback) { - var gIds = req.body.aGrps; - - if (!_.isArray(gIds)) { - gIds = [gIds]; - } - var aId = req.body.aId; - groupSchema.getAllGroups(function(err, grps) { - if (err) return callback(err, null); - - async.each(grps, function(grp, c) { - // Adding User to Group - if (_.contains(gIds, grp._id.toString())) { - grp.addMember(aId, function(err, result) { - if (result) { - grp.save(function(err) { - if (err) return c(err); - c(); - }) - } else { - c(); - } - }); - } else { - //Remove User from Group - grp.removeMember(aId, function(err, result) { - if (result) { - grp.save(function (err) { - if (err) return c(err); - - c(); - }); - } else { - c(); - } - }); - } - - }, function(err) { - if (err) return callback(err, null); - - callback(null, true); - }); - }); - }, - - user: function(callback) { - userSchema.getUser(req.body.aId, function(err, u) { - if (err) return callback(err, null); - - u.fullname = req.body.aFullname; - u.title = req.body.aTitle; - u.email = req.body.aEmail; - u.role = req.body.aRole; - - if (!_s.isBlank(req.body.aPass)) { - var pass = req.body.aPass; - var cPass = req.body.aPassConfirm; - - if (pass == cPass) { - u.password = cPass; - } - } - - u.save(function(err) { - if (err) return callback(err, null); - - callback(null, u); - }) - }) - } - - }, function(err, results) { - if (err) return handleError(res, err); - //if (!res.groups) return handleError(res, {message: 'Unable to Save Groups for User'}); - - return res.redirect('/accounts/' + results.user.username); - }); -}; - -accountsController.createAccount = function(req, res, next) { - var user = req.user; - if (_.isUndefined(user) || !permissions.canThis(user.role, 'accounts:create')) { - req.flash('message', 'Permission Denied.'); - return res.redirect('/accounts'); - } - - var self = this; - self.content = {}; - self.content.title = "Accounts"; - self.content.nav = 'accounts'; - - self.content.data = {}; - self.content.data.user = req.user; - self.content.data.common = req.viewdata; - self.content.data.accounts = {}; - - async.parallel({ - groups: function(callback) { - groupSchema.getAllGroups(function(err, grps) { - callback(err, grps); - }); - }, - roles: function(callback) { - callback(null, permissions.roles); - } - }, function(err, results) { - if (err) { - res.render('error', {error: err, message: err.message}); - } else { - if (!_.isUndefined(results.groups)) self.content.data.groups = results.groups; - if (!_.isUndefined(results.roles)) self.content.data.roles = results.roles; - - res.render('subviews/createAccount', self.content); - } - }); -}; - -accountsController.postCreate = function(req, res) { - var user = req.user; - if (_.isUndefined(user) || !permissions.canThis(user.role, 'accounts:create')) { - req.flash('message', 'Permission Denied.'); - return res.redirect('/accounts'); - } - - var self = this; - self.content = {}; - self.content.title = "Accounts"; - self.content.nav = 'accounts'; - - self.content.data = {}; - self.content.data.user = user; - self.content.data.common = req.viewdata; - - var username = req.body.aUsername; - var fullname = req.body.aFullname; - var title = req.body.aTitle; - var password = req.body.aPass; - var confirmPass = req.body.aPassConfirm; - var email = req.body.aEmail; - var role = req.body.aRole; - var groups = req.body.aGrps; - - //Todo Error and Resend to correct page - if (password !== confirmPass) return handleError(res, {message: "Password Mismatch"}); - - var User = userSchema; - - var newUser = new User({ - username: username, - password: password, - fullname: fullname, - email: email, - title: title, - role: role - }); - - newUser.save(function(err, obj) { - if (err) return handleError(res, err); - if (_.isUndefined(obj)) return handleError(res, {message: "Invalid Obj"}); - - if (!_.isArray(groups)) { - groups = [groups]; - } - - async.each(groups, function(g, callback) { - if (_.isUndefined(g)) return callback(null); - - groupSchema.getGroupById(g, function(err, grp) { - if (err) return callback(err); - grp.addMember(obj._id, function(err, success) { - if (err) return callback(err); - - grp.save(function(err) { - if (err) return callback(err); - callback(null, success); - }); - }); - }); - }, function(err) { - if (err) return handleError(res, err); - - res.redirect('/accounts'); - }); - }); -}; - -accountsController.uploadImage = function(req, res, next) { +//02/05/2017 +//Removed in 0.1.8 As its Old code before Revamp. +// accountsController.editAccount = function(req, res) { +// var user = req.user; +// if (_.isUndefined(user) || !permissions.canThis(user.role, 'accounts:edit')) { +// req.flash('message', 'Permission Denied.'); +// return res.redirect('/accounts'); +// } +// +// var username = req.params.username; +// if (_.isUndefined(username)) { +// req.flash('message', 'Invalid User.'); +// return res.redirect('/accounts'); +// } +// +// var self = this; +// self.content = {}; +// self.content.title = "Accounts"; +// self.content.nav = 'accounts'; +// +// self.content.data = {}; +// self.content.data.user = req.user; +// self.content.data.common = req.viewdata; +// self.content.data.account = {}; +// +// async.parallel({ +// roles: function (callback) { +// callback(null, permissions.roles); +// }, +// +// groups: function(callback) { +// groupSchema.getAllGroups(function(err, grps) { +// callback(err, grps); +// }); +// }, +// +// account: function(callback) { +// userSchema.getUserByUsername(username, function (err, obj) { +// callback(err, obj); +// }); +// } +// }, function(err, result) { +// if (err) { +// req.flash('message', err.message); +// winston.warn(err); +// return res.redirect('/accounts'); +// } +// +// self.content.data.account = result.account; +// self.content.data.roles = result.roles; +// result.groups.members = undefined; +// result.groups.sendMailTo = undefined; +// self.content.data.groups = _.sortBy(result.groups, 'name'); +// +// res.render('subviews/editAccount', self.content); +// }); +// }; +// +// accountsController.postEdit = function(req, res) { +// var user = req.user; +// if (_.isUndefined(user) || !permissions.canThis(user.role, 'accounts:edit')) { +// req.flash('message', 'Permission Denied.'); +// return res.redirect('/accounts'); +// } +// +// var self = this; +// self.content = {}; +// self.content.title = "Accounts"; +// self.content.nav = 'accounts'; +// +// self.content.data = {}; +// self.content.data.user = user; +// self.content.data.common = req.viewdata; +// +// async.parallel({ +// groups: function(callback) { +// var gIds = req.body.aGrps; +// +// if (!_.isArray(gIds)) { +// gIds = [gIds]; +// } +// var aId = req.body.aId; +// groupSchema.getAllGroups(function(err, grps) { +// if (err) return callback(err, null); +// +// async.each(grps, function(grp, c) { +// // Adding User to Group +// if (_.contains(gIds, grp._id.toString())) { +// grp.addMember(aId, function(err, result) { +// if (result) { +// grp.save(function(err) { +// if (err) return c(err); +// c(); +// }) +// } else { +// c(); +// } +// }); +// } else { +// //Remove User from Group +// grp.removeMember(aId, function(err, result) { +// if (result) { +// grp.save(function (err) { +// if (err) return c(err); +// +// c(); +// }); +// } else { +// c(); +// } +// }); +// } +// +// }, function(err) { +// if (err) return callback(err, null); +// +// callback(null, true); +// }); +// }); +// }, +// +// user: function(callback) { +// userSchema.getUser(req.body.aId, function(err, u) { +// if (err) return callback(err, null); +// +// u.fullname = req.body.aFullname; +// u.title = req.body.aTitle; +// u.email = req.body.aEmail; +// u.role = req.body.aRole; +// +// if (!_s.isBlank(req.body.aPass)) { +// var pass = req.body.aPass; +// var cPass = req.body.aPassConfirm; +// +// if (pass == cPass) { +// u.password = cPass; +// } +// } +// +// u.save(function(err) { +// if (err) return callback(err, null); +// +// callback(null, u); +// }) +// }) +// } +// +// }, function(err, results) { +// if (err) return handleError(res, err); +// //if (!res.groups) return handleError(res, {message: 'Unable to Save Groups for User'}); +// +// return res.redirect('/accounts/' + results.user.username); +// }); +// }; +// +// accountsController.createAccount = function(req, res) { +// var user = req.user; +// if (_.isUndefined(user) || !permissions.canThis(user.role, 'accounts:create')) { +// req.flash('message', 'Permission Denied.'); +// return res.redirect('/accounts'); +// } +// +// var self = this; +// self.content = {}; +// self.content.title = "Accounts"; +// self.content.nav = 'accounts'; +// +// self.content.data = {}; +// self.content.data.user = req.user; +// self.content.data.common = req.viewdata; +// self.content.data.accounts = {}; +// +// async.parallel({ +// groups: function(callback) { +// groupSchema.getAllGroups(function(err, grps) { +// callback(err, grps); +// }); +// }, +// roles: function(callback) { +// callback(null, permissions.roles); +// } +// }, function(err, results) { +// if (err) { +// res.render('error', {error: err, message: err.message}); +// } else { +// if (!_.isUndefined(results.groups)) self.content.data.groups = results.groups; +// if (!_.isUndefined(results.roles)) self.content.data.roles = results.roles; +// +// res.render('subviews/createAccount', self.content); +// } +// }); +// }; +// +// accountsController.postCreate = function(req, res) { +// var user = req.user; +// if (_.isUndefined(user) || !permissions.canThis(user.role, 'accounts:create')) { +// req.flash('message', 'Permission Denied.'); +// return res.redirect('/accounts'); +// } +// +// var self = this; +// self.content = {}; +// self.content.title = "Accounts"; +// self.content.nav = 'accounts'; +// +// self.content.data = {}; +// self.content.data.user = user; +// self.content.data.common = req.viewdata; +// +// var username = req.body.aUsername; +// var fullname = req.body.aFullname; +// var title = req.body.aTitle; +// var password = req.body.aPass; +// var confirmPass = req.body.aPassConfirm; +// var email = req.body.aEmail; +// var role = req.body.aRole; +// var groups = req.body.aGrps; +// +// //Todo Error and Resend to correct page +// if (password !== confirmPass) return handleError(res, {message: "Password Mismatch"}); +// +// var User = userSchema; +// +// var newUser = new User({ +// username: username, +// password: password, +// fullname: fullname, +// email: email, +// title: title, +// role: role +// }); +// +// newUser.save(function(err, obj) { +// if (err) return handleError(res, err); +// if (_.isUndefined(obj)) return handleError(res, {message: "Invalid Obj"}); +// +// if (!_.isArray(groups)) { +// groups = [groups]; +// } +// +// async.each(groups, function(g, callback) { +// if (_.isUndefined(g)) return callback(null); +// +// groupSchema.getGroupById(g, function(err, grp) { +// if (err) return callback(err); +// grp.addMember(obj._id, function(err, success) { +// if (err) return callback(err); +// +// grp.save(function(err) { +// if (err) return callback(err); +// callback(null, success); +// }); +// }); +// }); +// }, function(err) { +// if (err) return handleError(res, err); +// +// res.redirect('/accounts'); +// }); +// }); +// }; + +accountsController.uploadImage = function(req, res) { var fs = require('fs'); var path = require('path'); var Busboy = require('busboy'); @@ -403,7 +431,7 @@ accountsController.uploadImage = function(req, res, next) { headers: req.headers, limits: { files: 1, - fileSize: (1024*1024) * 3 // 1mb limit + fileSize: (1024*1024) * 3 // 3mb limit } }); diff --git a/src/controllers/api.js b/src/controllers/api.js index e5c4cfd9b..3eaeececd 100644 --- a/src/controllers/api.js +++ b/src/controllers/api.js @@ -16,7 +16,6 @@ var async = require('async'), _ = require('underscore'), _s = require('underscore.string'), winston = require('winston'), - passport = require('passport'), permissions = require('../permissions'), emitter = require('../emitter'), @@ -28,7 +27,8 @@ var async = require('async'), api_users_v1 = require('./api/v1/users'), api_messages_v1 = require('./api/v1/messages'), api_groups_v1 = require('./api/v1/groups'), - api_settings_v1 = require('./api/v1/settings'); + api_settings_v1 = require('./api/v1/settings'), + api_plugins_v1 = require('./api/v1/plugins'); /** * @since 1.0 @@ -54,6 +54,7 @@ apiController.users = api_users_v1; apiController.messages = api_messages_v1; apiController.groups = api_groups_v1; apiController.settings = api_settings_v1; +apiController.plugins = api_plugins_v1; apiController.import = function(req, res) { var fs = require('fs'); @@ -292,7 +293,7 @@ apiController.devices.setDeviceToken = function(req, res) { if (err) return res.status(401).json({error: err.message}); if (!user) return res.status(401).json({error: 'Unknown User'}); - user.addDeviceToken(token, 1, function(err, u) { + user.addDeviceToken(token, 1, function(err) { if (err) return res.status(400).json({error: err.message}); res.json({success: true, token: token}); diff --git a/src/controllers/api/v1/messages.js b/src/controllers/api/v1/messages.js index 89e978903..57f2775fc 100644 --- a/src/controllers/api/v1/messages.js +++ b/src/controllers/api/v1/messages.js @@ -7,7 +7,7 @@ 888 . 888 888 888 888 888 888 .o o. )88b 888 `88b. "888" d888b `V88V"V8P' `Y8bod88P" `Y8bod8P' 8""888P' o888o o888o ======================================================================== - Created: 11/29/2015 + Created: 11/24/2016 Author: Chris Brame **/ @@ -20,7 +20,9 @@ var async = require('async'), emitter = require('../../../emitter'), userSchema = require('../../../models/user'), - messageSchema = require('../../../models/message'); + + conversationSchema = require('../../../models/chat/conversation'), + messageSchema = require('../../../models/chat/message'); var api_messages = {}; @@ -28,7 +30,7 @@ var api_messages = {}; * @api {get} /api/v1/messages Get Messages * @apiName getMessages * @apiDescription Gets messages for the current logged in user - * @apiVersion 0.1.0 + * @apiVersion 0.1.8 * @apiGroup Messages * @apiHeader {string} accesstoken The access token for the logged in user * @apiExample Example usage: @@ -46,88 +48,227 @@ var api_messages = {}; * @apiSuccess {number} messages.folder Message Folder * */ -api_messages.get = function(req, res) { - var user = req.user; - var limit = req.query.limit; - var page = req.query.page; - var folder = req.query.folder; - - var object = { - owner: user, - limit: limit, - page: page, - folder: folder - }; - - messageSchema.getMessagesWithObject(object, function(err, results) { + +api_messages.getConversations = function(req, res) { + conversationSchema.getConversations(req.user._id, function(err, conversations) { if (err) return res.status(400).json({success: false, error: err.message}); - return res.json({success: true, messages: results}); + return res.json({success: true, conversations: conversations}); }); }; -api_messages.send = function(req, res) { - var accessToken = req.headers.accesstoken; - var messageData = req.body; +api_messages.getRecentConversations = function(req, res) { + conversationSchema.getConversationsWithLimit(req.user._id, 3, function(err, conversations) { + if (err) return res.status(400).json({success: false, error: err.message}); - if (_.isUndefined(accessToken) || _.isNull(accessToken)) { - var user = req.user; - if (_.isUndefined(user) || _.isNull(user)) return res.status(401).json({error: 'Invalid Access Token'}); + var result = []; + async.eachSeries(conversations, function(item, done) { - var to = messageData.to; - if (!_.isArray(to)) { - to = [messageData.to] - } - var marked = require('marked'); - var messageText = messageData.message; - messageText = messageText.replace(/(\r\n|\n\r|\r|\n)/g, "
"); - messageData.message = marked(messageText); - - async.each(to, function(owner, callback) { - async.parallel([ - function(done) { - var message = new messageSchema({ - owner: owner, - from: user._id, - subject: messageData.subject, - message: messageData.message - }); - - message.save(function(err) { - done(err); - }); - }, - function(done) { - //Save to Sent Items - var message = new messageSchema({ - owner: user._id, - from: owner, - folder: 1, - subject: messageData.subject, - message: messageData.message - }); - - message.save(function(err) { - done(err); - }); + var idx = _.findIndex(item.userMeta, function(mItem) { return mItem.userId.toString() == req.user._id.toString(); }); + if (idx == -1) + return res.status(400).json({success: false, error: 'Unable to attach to userMeta'}); + + messageSchema.getMostRecentMessage(item._id, function(err, m) { + if (err) return done(err); + var r = item.toObject(); + + if (_.first(m) === undefined) + return done(); + + if (item.userMeta[idx].deletedAt && item.userMeta[idx].deletedAt > _.first(m).createdAt) + return done(); + + r.recentMessage = _.first(m); + if (!_.isUndefined(r.recentMessage)) { + r.recentMessage.__v = undefined; + result.push(r); } - ], function(err) { - if (err) return callback(err); - callback(); + + return done(); }); }, function(err) { - if (err) return res.status(400).json({error: err}); + if (err) return res.status(400).json({success: false, error: err}); + return res.json({success: true, conversations: result}); + }); + }); +}; - res.status(200).json({success: true}); +api_messages.get = function(req, res) { + conversationSchema.getConversations(req.user._id, function(err, conversations) { + if (err) return res.status(400).json({success: false, error: err}); + var fullConversations = []; + + async.forEach(conversations, function(item, done) { + + messageSchema.getFullConversation(item._id, function(err, messages) { + if (err) return done(err); + fullConversations.push({cId: item._id, p: item.participants, messages: messages}); + + return done(); + }); + }, function(err) { + if (err) return res.status(400).json({success: false, error: err}); + return res.json({success: true, conversations: fullConversations}); }); - } else { - //get user by access token - userSchema.getUserByAccessToken(accessToken, function(err, user) { - if (err) return res.status(401).json({'error': err.message}); - if (!user) return res.status(401).json({'error': 'Unknown User'}); + }); +}; + +api_messages.startConversation = function(req, res) { + var payload = req.body; + var requester = payload.owner; + var participants = payload.participants; + + //Check if Conversation with these participants exist + conversationSchema.getConversations(participants, function(err, convo) { + if (err) { + return res.status(400).json({success: false, error: err.message}); + } + + if (convo.length == 1) { + return res.json({success: true, conversation: convo[0]}); + } else { + var userMeta = []; + _.each(participants, function(item) { + var meta = { + userId: item, + joinedAt: new Date() + }; + + if (requester == item) + meta.lastRead = new Date(); + + userMeta.push(meta); + }); + + var Conversation = new conversationSchema({ + participants: participants, + userMeta: userMeta, + updatedAt: new Date() + }); + + Conversation.save(function(err, cSave) { + if (err) { + winston.debug(err); + return res.status(400).json({success: false, error: err.message}); + } + + return res.json({success: true, conversation: cSave}); + }); + } + }); +}; + +api_messages.send = function(req, res) { + var payload = req.body; + var cId = payload.cId; + var owner = payload.owner; + var message = payload.body; + var matches = message.match(/^[Tt]#[0-9]*$/g); + + if (!_.isNull(matches) && matches.length > 0) { + _.each(matches, function(m) { + message = message.replace(m, 'T#' + m.replace('T#', '').replace('t#', '') + ''); }); } + + async.waterfall([ + function(done) { + // Updated conversation to save UpdatedAt field. + conversationSchema.findOneAndUpdate({_id: cId}, {updatedAt: new Date()}, {new: false}, function(err, convo) { + if (err) return done(err); + if (convo == null || convo == undefined) + return done('Invalid Conversation: ' + convo ); + return done(null, convo); + }); + }, + function(convo, done) { + var Message = new messageSchema({ + conversation: convo._id, + owner: owner, + body: message + }); + + Message.save(function(err, mSave) { + if (err) { + return done(err); + } + + //Update conversation Meta!! + return done(null, mSave); + }); + } + ], function(err, mSave) { + if (err) { + winston.debug(err); + return res.status(400).json({success: false, error: err.message}); + } + return res.json({success: true, message: mSave}); + + }); + + +}; + +api_messages.getMessagesForConversation = function(req, res) { + var conversation = req.params.id; + var page = (req.query.page == undefined ? 0 : req.query.page); + var limit = (req.query.limit == undefined ? 10 : req.query.limit); + if (_.isUndefined(conversation) || _.isNull(conversation)) + return res.status(400).json({success: false, error: 'Invalid Conversation'}); + + var response = {}; + async.series([ + function(done) { + conversationSchema.getConversation(conversation, function(err, convo) { + if (err) return done(err); + + response.conversation = convo; + + return done(); + }); + }, + function(done) { + messageSchema.getConversationWithObject({cid: conversation, page: page, limit: limit, userMeta: response.conversation.userMeta, requestingUser: req.user}, function(err, messages) { + if (err) return done(err); + + response.messages = messages; + + done(); + }) + } + ], function(err) { + if (err) { + winston.debug(err); + return res.status(400).json({success: false, error: err.message}); + } + + return res.json({success: true, conversation: response.conversation, messages: response.messages}); + }); +}; + +api_messages.deleteConversation = function(req, res) { + var conversation = req.params.id; + + if (_.isUndefined(conversation) || _.isNull(conversation)) + return res.status(400).json({success: false, error: 'Invalid Conversation'}); + + conversationSchema.getConversation(conversation, function(err, convo) { + if (err) return res.status(400).json({success: false, error: err.message}); + + var user = req.user; + var idx = _.findIndex(convo.userMeta, function(item) { return item.userId.toString() == user._id.toString(); }); + if (idx == -1) + return res.status(400).json({success: false, error: 'Unable to attach to userMeta'}); + + convo.userMeta[idx].deletedAt = new Date(); + + convo.save(function(err, sConvo) { + if (err) return res.status(400).json({success: false, error: err.message}); + + return res.json({success: true, conversation: sConvo}); + }); + }); }; module.exports = api_messages; \ No newline at end of file diff --git a/src/controllers/api/v1/notices.js b/src/controllers/api/v1/notices.js index 457e00175..1da7b071b 100644 --- a/src/controllers/api/v1/notices.js +++ b/src/controllers/api/v1/notices.js @@ -12,14 +12,8 @@ **/ -var async = require('async'), - _ = require('underscore'), - _s = require('underscore.string'), +var _ = require('underscore'), winston = require('winston'), - permissions = require('../../../permissions'), - emitter = require('../../../emitter'), - - userSchema = require('../../../models/user'), noticeSchema = require('../../../models/notice'); var api_notices = {}; diff --git a/src/controllers/api/v1/plugins.js b/src/controllers/api/v1/plugins.js new file mode 100644 index 000000000..e1a65d3dd --- /dev/null +++ b/src/controllers/api/v1/plugins.js @@ -0,0 +1,111 @@ +/* + . .o8 oooo + .o8 "888 `888 + .o888oo oooo d8b oooo oooo .oooo888 .ooooo. .oooo.o 888 oooo + 888 `888""8P `888 `888 d88' `888 d88' `88b d88( "8 888 .8P' + 888 888 888 888 888 888 888ooo888 `"Y88b. 888888. + 888 . 888 888 888 888 888 888 .o o. )88b 888 `88b. + "888" d888b `V88V"V8P' `Y8bod88P" `Y8bod8P' 8""888P' o888o o888o + ======================================================================== + Created: 02/22/2017 + Author: Chris Brame + + **/ + +var _ = require('underscore'), + winston = require('winston'), + path = require('path'), + fs = require('fs'), + request = require('request'), + rimraf = require('rimraf'), + tar = require('tar'); + +var api_plugins = {}; + +var pluginPath = path.join(__dirname, '../../../../plugins'); + +const pluginServerUrl = 'http://plugins.trudesk.io'; + +api_plugins.installPlugin = function(req, res) { + var packageid = req.params.packageid; + + request.get(pluginServerUrl + '/api/plugin/package/' + packageid, function(err, response) { + if (err) return res.status(400).json({success: false, error: err}); + + var plugin = JSON.parse(response.body).plugin; + + request.get(pluginServerUrl + '/plugin/download/' + plugin.url) + .on('response', function(response) { + + var fws = fs.createWriteStream(path.join(pluginPath, plugin.url)); + + response.pipe(fws); + + response.on('end', function() { + + //Extract plugin + var pluginExtractFolder = path.join(pluginPath, plugin.name.toLowerCase()); + rimraf(pluginExtractFolder, function(error) { + if (error) return res.json({success: false, error: 'Unable to remove plugin directory.'}); + + var extracter = tar.Extract({path: pluginPath}) + .on('error', function(err){ console.log(err); return res.status(400).json({success: false, error: 'Unable to Extract plugin.'}); }) + .on('end', function(){ + //File has been extracted Delete Zip File... + rimraf(path.join(pluginPath, plugin.url), function(){ + //Wrap it up!!!! + res.json({success: true, plugin: plugin}); + restartServer(); + }); + }); + + fs.createReadStream(path.join(pluginPath, plugin.url)) + .on('error', function(err){ console.log(err); return res.status(400).json({success: false, error: 'Unable to Extract plugin.'}); }) + .pipe(extracter); + }); + }); + + response.on('error', function(err) { + return res.status(400).json({success: false, error: err}); + }); + }) + .on('error', function(err) { + return res.status(400).json({success: false, error: err}); + }); + }); +}; + +api_plugins.removePlugin = function(req, res) { + var packageid = req.params.packageid; + + request.get(pluginServerUrl + '/api/plugin/package/' + packageid, function(err, response) { + if (err) return res.status(400).json({success: false, error: err}); + + var plugin = JSON.parse(response.body).plugin; + + rimraf(path.join(pluginPath, plugin.name.toLowerCase()), function(err) { + if (err) return res.json({success: false, error: 'Unable to remove plugin directory.'}); + + res.json({success: true}); + restartServer(); + }) + }); +}; + +function restartServer() { + var pm2 = require('pm2'); + pm2.connect(function(err) { + if (err) { + winston.error(err); + } + pm2.restart('trudesk', function(err) { + if (err) { + return winston.error(err); + } + + pm2.disconnect(); + }); + }); +} + +module.exports = api_plugins; \ No newline at end of file diff --git a/src/controllers/api/v1/settings.js b/src/controllers/api/v1/settings.js index eb8d07267..9a58fb373 100644 --- a/src/controllers/api/v1/settings.js +++ b/src/controllers/api/v1/settings.js @@ -14,13 +14,9 @@ var async = require('async'), _ = require('underscore'), - _s = require('underscore.string'), winston = require('winston'), - permissions = require('../../../permissions'), - emitter = require('../../../emitter'), sanitizeHtml = require('sanitize-html'), - userSchema = require('../../../models/user'), settingSchema = require('../../../models/setting'); var api_settings = {}; diff --git a/src/controllers/api/v1/tickets.js b/src/controllers/api/v1/tickets.js index 50cbd2c0e..33f4e6075 100644 --- a/src/controllers/api/v1/tickets.js +++ b/src/controllers/api/v1/tickets.js @@ -14,13 +14,10 @@ var async = require('async'), _ = require('underscore'), - _s = require('underscore.string'), moment = require('moment'), winston = require('winston'), - permissions = require('../../../permissions'), - emitter = require('../../../emitter'), - - userSchema = require('../../../models/user'); + //permissions = require('../../../permissions'), + emitter = require('../../../emitter'); var api_tickets = {}; @@ -223,7 +220,7 @@ api_tickets.create = function(req, res) { if (!_.isObject(postData)) return res.status(400).json({'success': false, error: 'Invalid Post Data'}); var socketId = _.isUndefined(postData.socketId) ? '' : postData.socketId; - var tagSchema = require('../../../models/tag'); + //var tagSchema = require('../../../models/tag'); //var tags = []; //if (!_.isUndefined(postData.tags)) { // var t = _s.clean(postData.tags); @@ -537,7 +534,7 @@ api_tickets.update = function(req, res) { cb(); } } - ], function(err) { + ], function() { ticket.save(function(err, t) { if (err) return res.send(err.message); @@ -815,7 +812,7 @@ api_tickets.getTicketStatsForGroup = function(req, res) { return [key, 0]; }))); - tags = _.sortKeysBy(tags, function(value, key) { + tags = _.sortKeysBy(tags, function(value) { return -value; }); @@ -907,7 +904,7 @@ function buildAvgResponse(ticketArray, callback) { return callback(); }); }, function (err) { - if (err) return c(err); + if (err) return callback(err); var ticketAvgTotal = _($ticketAvg).reduce(function (m, x) { return m + x; diff --git a/src/controllers/api/v1/users.js b/src/controllers/api/v1/users.js index 2a2e756b8..61bff9164 100644 --- a/src/controllers/api/v1/users.js +++ b/src/controllers/api/v1/users.js @@ -14,7 +14,6 @@ var async = require('async'), _ = require('underscore'), - _s = require('underscore.string'), winston = require('winston'), permissions = require('../../../permissions'), emitter = require('../../../emitter'), @@ -186,6 +185,91 @@ api_users.create = function(req, res) { }); }; +/** + * @api {post} /api/v1/public/account/create Create Public Account + * @apiName createPublicAccount + * @apiDescription Creates an account with the given post data. + * @apiVersion 0.1.8 + * @apiGroup User + * @apiHeader {string} accesstoken The access token for the logged in user + * + * @apiParamExample {json} Request-Example: + * { + * "aFullname": "user name", + * "aEmail": "email@email.com"" + * "aPassword": "password", + * } + * + * @apiSuccess {boolean} success If the Request was a success + * @apiSuccess {object} error Error, if occurred + * @apiSuccess {object} account Saved Account Object + * + * @apiError InvalidPostData The data was invalid + * @apiErrorExample + * HTTP/1.1 400 Bad Request + { + "error": "Invalid Post Data" + } + */ +api_users.createPublicAccount = function(req, res) { + var origin = req.headers.origin; + var host = req.headers.host; + if (req.secure) host = 'https://' + host; + if (!req.secure) host = 'http://' + host; + + if (origin !== host) return res.status(400).json({success: false, error: 'Invalid Origin!'}); + + var response = {}; + response.success = true; + var postData = req.body; + if (!_.isObject(postData)) return res.status(400).json({success: false, error: 'Invalid Post Data'}); + + var user = undefined, + group = undefined; + + async.waterfall([ + function(next) { + var userSchema = require('../../../models/user'); + user = new userSchema({ + username: postData.user.email, + password: postData.user.password, + fullname: postData.user.fullname, + email: postData.user.email, + role: 'user' + }); + + user.save(function(err, savedUser) { + if (err) return next(err); + + return next(null, savedUser); + }); + }, + function (savedUser, next) { + var groupSchema = require('../../../models/group'); + group = new groupSchema({ + name: savedUser.email, + members: [savedUser._id], + sendMailTo: [savedUser._id], + public: true + }); + + group.save(function(err, savedGroup) { + if (err) return next(err); + + return next(null, {user: savedUser, group: savedGroup}); + }); + } + ], function(err, result) { + if (err) winston.debug(err); + if (err) return res.status(400).json({success: false, error: err.message}); + + delete result.user.password; + result.user.password = undefined; + + return res.json({success: true, userData: {user: result.user, group: result.group}}); + }); +}; + /** * @api {put} /api/v1/users/:username Update User * @apiName updateUser @@ -228,7 +312,7 @@ api_users.update = function(req, res) { passconfirm: data.aPassConfirm, email: data.aEmail, role: data.aRole, - groups: data.aGrps, + groups: data.aGrps }; if (_.isNull(obj.groups) || _.isUndefined(obj.groups)) @@ -247,8 +331,9 @@ api_users.update = function(req, res) { user.password = obj.password; user.fullname = obj.fullname; - if (!_.isUndefined(obj.title)) user.title = obj.title; user.email = obj.email; + + if (!_.isUndefined(obj.title)) user.title = obj.title; if (!_.isUndefined(obj.role)) user.role = obj.role; user.save(function (err, nUser) { @@ -271,7 +356,7 @@ api_users.update = function(req, res) { if (err) return callback(err); if (result) { - grp.save(function(err, savedGroup) { + grp.save(function(err) { if (err) return callback(err); callback(); }); @@ -284,7 +369,7 @@ api_users.update = function(req, res) { grp.removeMember(obj._id, function(err, result) { if (err) return callback(err); if (result) { - grp.save(function(err, savedGroup) { + grp.save(function(err) { if (err) return callback(err); callback(); @@ -476,7 +561,7 @@ api_users.enableUser = function(req, res) { user.deleted = false; - user.save(function(err, user) { + user.save(function(err) { if (err) return res.status(400).json({error: err.message}); res.json({success: true}); @@ -644,7 +729,7 @@ api_users.removeApiKey = function(req, res) { userSchema.getUser(id, function(err, user) { if (err) return res.status(400).json({error: 'Invalid Request'}); - user.removeAccessToken(function(err, user) { + user.removeAccessToken(function(err) { if (err) return res.status(400).json({error: 'Invalid Request'}); return res.json({success: true}); @@ -652,6 +737,77 @@ api_users.removeApiKey = function(req, res) { }); }; +/** + * @api {post} /api/v1/users/:id/generatel2auth Generate Layer Two Auth + * @apiName generateL2Auth + * @apiDescription Generate a new layer two auth for the given user id + * @apiVersion 0.1.8 + * @apiGroup User + * @apiHeader {string} accesstoken The access token for the logged in user + * @apiExample Example usage: + * curl -H "accesstoken: {accesstoken}" -l http://localhost/api/v1/users/:id/generatel2auth + * + * @apiSuccess {boolean} success Successful? + * + * @apiError InvalidRequest The request was invalid + * @apiErrorExample + * HTTP/1.1 400 Bad Request + { + "error": "Invalid Request" + } + */ +api_users.generateL2Auth = function(req, res) { + var id = req.params.id; + if (id.toString() !== req.user._id.toString()) + return res.status(400).json({success: false, error: 'Invalid Account Owner!'}); + + userSchema.getUser(id, function(err, user) { + if (err) return res.status(400).json({success: false, error: 'Invalid Request'}); + + user.generateL2Auth(function(err, generatedKey) { + if (err) return res.status(400).json({success: false, error: 'Invalid Request'}); + + console.log(generatedKey); + return res.json({success: true, generatedKey: generatedKey}); + }); + }); +}; + +/** + * @api {post} /api/v1/users/:id/removel2auth Removes Layer Two Auth + * @apiName removeL2Auth + * @apiDescription Removes Layer Two Auth for the given user id + * @apiVersion 0.1.8 + * @apiGroup User + * @apiHeader {string} accesstoken The access token for the logged in user + * @apiExample Example usage: + * curl -H "accesstoken: {accesstoken}" -l http://localhost/api/v1/users/:id/removel2auth + * + * @apiSuccess {boolean} success Successful? + * + * @apiError InvalidRequest The request was invalid + * @apiErrorExample + * HTTP/1.1 400 Bad Request + { + "error": "Invalid Request" + } + */ +api_users.removeL2Auth = function(req, res) { + var id = req.params.id; + if (id.toString() !== req.user._id.toString()) + return res.status(400).json({success: false, error: 'Invalid Account Owner!'}); + + userSchema.getUser(id, function(err, user) { + if (err) return res.status(400).json({success: false, error: 'Invalid Request'}); + + user.removeL2Auth(function(err) { + if (err) return res.status(400).json({success: false, error: 'Invalid Request'}); + + return res.json({success: true}); + }); + }); +}; + /** * @api {post} /api/v1/users/checkemail * @apiName checkEmail diff --git a/src/controllers/debug.js b/src/controllers/debug.js index 5c14f3798..2fb215621 100644 --- a/src/controllers/debug.js +++ b/src/controllers/debug.js @@ -14,20 +14,13 @@ var async = require('async'); var path = require('path'); -var _ = require('underscore'); -var _s = require('underscore.string'); -var flash = require('connect-flash'); -var userSchema = require('../models/user'); -var reports = require('../models/report'); -var permissions = require('../permissions'); -var mongoose = require('mongoose'); var winston = require('winston'); var debugController = {}; debugController.content = {}; -debugController.sendmail = function(req, res, next) { +debugController.sendmail = function(req, res) { var mailer = require('../mailer'); var emailTemplates = require('email-templates'); var templateDir = path.resolve(__dirname, '..', 'mailer', 'templates'); @@ -63,6 +56,81 @@ debugController.sendmail = function(req, res, next) { }); }; +debugController.uploadPlugin = function(req, res) { + var fs = require('fs'); + var path = require('path'); + var Busboy = require('busboy'); + var busboy = new Busboy({ + headers: req.headers, + limits: { + files: 1, + fileSize: 10 * 1024*1024 // 10mb limit + } + }); + + var object = {}, error; + + busboy.on('field', function(fieldname, val, fieldnameTruncated, valTruncated) { + if (fieldname === 'plugin') object.plugin = val; + }); + + busboy.on('file', function(fieldname, file, filename, encoding, mimetype) { + console.log(mimetype); + if (mimetype.indexOf('x-zip-compressed') == -1) { + error = { + status: 500, + message: 'Invalid File Type' + }; + + return file.resume(); + } + + var savePath = path.join(__dirname, '../../public/uploads/plugins'); + if (!fs.existsSync(savePath)) fs.mkdirSync(savePath); + + + object.plugin = path.basename(filename); + object.filePath = path.join(savePath, object.plugin); + object.mimetype = mimetype; + + console.log(object); + + file.on('limit', function() { + error = { + status: 500, + message: 'File too large' + }; + + // Delete the temp file + //if (fs.existsSync(object.filePath)) fs.unlinkSync(object.filePath); + + return file.resume(); + }); + + file.pipe(fs.createWriteStream(object.filePath)); + }); + + busboy.on('finish', function() { + if (error) return res.status(error.status).send(error.message); + + if (_.isUndefined(object.plugin) || + _.isUndefined(object.filePath)) { + + return res.status(500).send('Invalid Form Data'); + } + + // Everything Checks out lets make sure the file exists and then add it to the attachments array + if (!fs.existsSync(object.filePath)) return res.status(500).send('File Failed to Save to Disk'); + + var unzip = require('unzip'); + fs.createReadStream(object.filePath).pipe(unzip.Extract({path: path.join(__dirname, '../../plugins')})); + + return res.sendStatus(200); + }); + + req.pipe(busboy); +}; + function handleError(res, err) { if (err) { return res.render('error', {layout: false, error: err, message: err.message}); diff --git a/src/controllers/index.js b/src/controllers/index.js index 9b7d62657..5c0a8b2ff 100644 --- a/src/controllers/index.js +++ b/src/controllers/index.js @@ -23,6 +23,7 @@ var Controllers = { reports: require('./reports'), invoices: require('./invoices'), notices: require('./notices'), + plugins: require('./plugins'), settings: require('./settings'), api: require('./api'), diff --git a/src/controllers/main.js b/src/controllers/main.js index 264da4a5e..a7dda729d 100644 --- a/src/controllers/main.js +++ b/src/controllers/main.js @@ -15,18 +15,17 @@ var async = require('async'), path = require('path'), _ = require('underscore'), - _mixins = require('../helpers/underscore'), + //_mixins = require('../helpers/underscore'), passport = require('passport'), ticketSchema = require('../models/ticket'), nconf = require('nconf'), - winston = require('winston'), - moment = require('moment'); + winston = require('winston'); var mainController = {}; mainController.content = {}; -mainController.index = function(req, res, next) { +mainController.index = function(req, res) { "use strict"; var self = mainController; self.content = {}; @@ -34,12 +33,23 @@ mainController.index = function(req, res, next) { self.content.layout = false; self.content.flash = req.flash('loginMessage'); + var settings = require('../models/setting'); + settings.getSettingByName('allowUserRegistration:enable', function(err, setting) { + if (err) { + winston.warn(err); + return res.render('login', self.content); + } + + if (!_.isNull(setting)) + self.content.allowUserRegistration = setting.value; + + return res.render('login', self.content); + }); - res.render('login', self.content); }; mainController.about = function(req, res) { - pkg = require('../../package.json'); + var pkg = require('../../package.json'); var settings = require('../models/setting'); settings.getSettingByName('legal:privacypolicy', function(err, privacyPolicy) { var self = {}; @@ -61,7 +71,7 @@ mainController.about = function(req, res) { }); }; -mainController.dashboard = function(req, res, next) { +mainController.dashboard = function(req, res) { var self = mainController; self.content = {}; self.content.title = "Dashboard"; @@ -77,27 +87,27 @@ mainController.dashboard = function(req, res, next) { totalCount: function(callback) { ticketSchema.getTotalCount(function(err, count) { if (err) return callback(err, null); - callback(null, count); + return callback(null, count); }); }, totalMonthCount: function(callback) { var month = new Date().getMonth(); ticketSchema.getTotalMonthCount(month, function(err, count) { if (err) return callback(err, null); - callback(null, count); + return callback(null, count); }); }, closedMonthCount: function(callback) { var month = new Date().getMonth(); ticketSchema.getMonthCount(month, 3, function(err, count) { if (err) return callback(err, null); - callback(null, count); + return callback(null, count); }); }, newCount: function(callback) { ticketSchema.getStatusCount(0, function(err, count) { if (err) return callback(err, null); - callback(null, count); + return callback(null, count); }); }, activeCount: function(callback) { @@ -106,28 +116,28 @@ mainController.dashboard = function(req, res, next) { ticketSchema.getStatusCount(1, function(err, count) { if (err) return cb(err, null); - cb(null, count); + return cb(null, count); }); }, function(cb) { ticketSchema.getStatusCount(2, function(err, count) { if (err) return cb(err, null); - cb(null, count); + return cb(null, count); }); } ], function(err, results) { if (err) return callback(err, null); var aCount = _.sum(results); - callback(null, aCount); + return callback(null, aCount); }); }, closedCount: function(callback) { ticketSchema.getStatusCount(3, function(err, count) { if (err) return callback(err, null); - callback(null, count); + return callback(null, count); }); }, dailyCount: function(callback) { @@ -155,14 +165,14 @@ mainController.dashboard = function(req, res, next) { ticketSchema.getDateCount(dates[key], function(err, c) { if (err) return next(null, 0); - next(null, c); + return next(null, c); }); }, closedCount: function(next) { ticketSchema.getStatusCountByDate(3, dates[key], function(err, c) { if (err) return next(null, 0); - next(null, c); + return next(null, c); }); } }, function(err, done) { @@ -171,15 +181,15 @@ mainController.dashboard = function(req, res, next) { final[key].percent = (done.total / 25)*100; - cb(); + return cb(); }); })(k); }, function(err) { - next(err, final); + return next(err, final); }); } ], function(err) { - callback(err, final); + return callback(err, final); }); } }, function(err, results) { @@ -218,13 +228,16 @@ mainController.dashboard = function(req, res, next) { self.content.data.dailyYAxis.v3 = 5; } - res.render('dashboard', self.content); + return res.render('dashboard', self.content); }); }; mainController.loginPost = function(req, res, next) { - passport.authenticate('local', function(err, user, info) { - if (err) return next(err); + passport.authenticate('local', function(err, user) { + if (err) { + winston.error(err); + return next(err); + } if (!user) return res.redirect('/'); var redirectUrl = '/dashboard'; @@ -238,17 +251,42 @@ mainController.loginPost = function(req, res, next) { if (err) return next(err); return res.redirect(redirectUrl); - }) + }); + })(req, res, next); +}; + +mainController.l2AuthPost = function(req, res, next) { + if (!req.user) + return res.redirect('/'); + passport.authenticate('totp', function(err, success) { + if (err) { + winston.error(err); + return next(err); + } + + if (!success) return res.redirect('/l2auth'); + + req.session.l2auth = 'totp'; + + var redirectUrl = '/dashboard'; + + if (req.session.redirectUrl) { + redirectUrl = req.session.redirectUrl; + req.session.redirectUrl = null; + } + + return res.redirect(redirectUrl); })(req, res, next); }; -mainController.logout = function(req, res, next) { +mainController.logout = function(req, res) { req.logout(); + req.session.l2auth = null; req.session.destroy(); - res.redirect('/'); + return res.redirect('/'); }; -mainController.forgotPass = function(req, res, next) { +mainController.forgotPass = function(req, res) { var data = req.body; if (_.isUndefined(data['forgotPass-email'])) { return res.send(400).send('No Form Data'); @@ -314,7 +352,7 @@ mainController.forgotPass = function(req, res, next) { generateTextFromHTML: true }; - mailer.sendMail(mailOptions, function(err, info) { + mailer.sendMail(mailOptions, function(err) { if (err) { req.flash('Error: ' + err.message); winston.warn(err.message); @@ -329,7 +367,7 @@ mainController.forgotPass = function(req, res, next) { }); }; -mainController.resetPass = function(req, res, next) { +mainController.resetPass = function(req, res) { var hash = req.params.hash; if (_.isUndefined(hash)) { @@ -390,7 +428,7 @@ mainController.resetPass = function(req, res, next) { generateTextFromHTML: true }; - mailer.sendMail(mailOptions, function(err, info) { + mailer.sendMail(mailOptions, function(err) { if (err) { req.flash('Error: ' + err.message); return res.status(500).send(err.message); @@ -405,4 +443,16 @@ mainController.resetPass = function(req, res, next) { }); }; +mainController.l2authget = function(req, res) { + if (!req.user) + return res.redirect('/'); + + var self = mainController; + self.content = {}; + self.content.title = "Login"; + self.content.layout = false; + + res.render('login-otp', self.content); +}; + module.exports = mainController; \ No newline at end of file diff --git a/src/controllers/messages.js b/src/controllers/messages.js index 932847bb7..1f8371d24 100644 --- a/src/controllers/messages.js +++ b/src/controllers/messages.js @@ -7,156 +7,182 @@ 888 . 888 888 888 888 888 888 .o o. )88b 888 `88b. "888" d888b `V88V"V8P' `Y8bod88P" `Y8bod8P' 8""888P' o888o o888o ======================================================================== - Created: 02/10/2015 + Created: 11/24/2016 Author: Chris Brame **/ var _ = require('underscore'), async = require('async'), - userSchema = require('../models/user'); + winston = require('winston'), + conversationSchema = require('../models/chat/conversation'), + messageSchema = require('../models/chat/message'); var messagesController = {}; messagesController.content = {}; -messagesController.get = function(req, res, next) { +messagesController.get = function(req, res) { var self = this; self.content = {}; self.content.title = "Messages"; self.content.nav = 'messages'; - self.content.subnav = 'messages-inbox'; - self.content.folder = "Inbox"; - self.content.folderNum = 0; self.content.data = {}; self.content.data.user = req.user; self.content.data.common = req.viewdata; - //self.content.data.notice = { - // message: 'Internet Connectivity Issues', - // date: new Date(2015, 7, 23, 21, 13, 0) - //}; + self.content.data.conversations = []; + self.content.data.showNewConvo = req.showNewConvo; - var messages = require('../models/message'); - self.content.data.messages = {}; - async.parallel([ - function(callback) { - messages.getUserFolder(req.user._id, 0, function(err, objs) { - self.content.data.messages.items = objs; - self.content.data.messages.count = _.size(objs); - callback(err, objs); - }); + conversationSchema.getConversationsWithLimit(req.user._id, undefined, function(err, convos) { + if (err) { + winston.debug(err); + return handleError(res, err); } - ], - function(err, results) { - if (err) return res.render('error', err); - res.render('messages', self.content); - }); + async.eachSeries(convos, function(convo, done) { + var c = convo.toObject(); -}; + var userMeta = convo.userMeta[_.findIndex(convo.userMeta, function(item) { return item.userId.toString() == req.user._id.toString(); })]; + if (!_.isUndefined(userMeta) && !_.isUndefined(userMeta.deletedAt) && userMeta.deletedAt > convo.updatedAt) { + return done(); + } -messagesController.getSentItems = function(req, res, next) { - var self = this; - self.content = {}; - self.content.title = "Messages"; - self.content.nav = 'messages'; - self.content.subnav = 'messages-sentitems'; - self.content.folder = "Sent Items"; - self.content.folderNum = 1; - //Setup Data - self.content.data = {}; - self.content.data.user = req.user; - self.content.data.common = req.viewdata; + messageSchema.getMostRecentMessage(c._id, function(err, rm) { + if (err) return done(err); + _.each(c.participants, function(p) { + if (p._id.toString() !== req.user._id.toString()) + c.partner = p; + }); - var messages = require('../models/message'); - self.content.data.messages = {}; - async.parallel([ - function(callback) { - messages.getUserFolder(req.user._id, 1, function(err, objs) { - self.content.data.messages.items = objs; - self.content.data.messages.count = _.size(objs); + rm = _.first(rm); - callback(err, objs); - }); + if (!_.isUndefined(rm)) { + if (String(c.partner._id) == String(rm.owner._id)) { + c.recentMessage = c.partner.fullname + ': ' + rm.body; + } else { + c.recentMessage = 'You: ' + rm.body + } + } else { + c.recentMessage = 'New Conversation'; + } + + self.content.data.conversations.push(c); + + + return done(); + }) + }, function(err) { + if (err) { + winston.debug(err); + return handleError(res, err); } - ], - function(err, results) { - res.render('messages', self.content); - }); + return res.render('messages', self.content); + }); + }); }; -messagesController.getTrashItems = function(req, res, next) { +messagesController.getConversation = function(req, res) { var self = this; + var cid = req.params.convoid; + if (_.isUndefined(cid)) return handleError(res, 'Invalid Conversation ID!'); + self.content = {}; self.content.title = "Messages"; self.content.nav = 'messages'; - self.content.subnav = 'messages-trash'; - self.content.folder = "Trash"; - self.content.folderNum = 2; self.content.data = {}; self.content.data.user = req.user; self.content.data.common = req.viewdata; + self.content.data.conversations = []; - - var messages = require('../models/message'); - self.content.data.messages = {}; async.parallel([ - function(callback) { - messages.getUserFolder(req.user._id, 2, function(err, objs) { - self.content.data.messages.items = objs; - self.content.data.messages.count = _.size(objs); - - callback(err, objs); + function(next) { + conversationSchema.getConversationsWithLimit(req.user._id, undefined, function(err, convos) { + if (err) return next(err); + + async.eachSeries(convos, function(convo, done) { + var userMeta = convo.userMeta[_.findIndex(convo.userMeta, function(item) { return item.userId.toString() == req.user._id.toString(); })]; + if (!_.isUndefined(userMeta) && !_.isUndefined(userMeta.deletedAt) && userMeta.deletedAt > convo.updatedAt && req.params.convoid != convo._id) { + return done(); + } + + var c = convo.toObject(); + messageSchema.getMostRecentMessage(c._id, function(err, rm) { + if (err) return done(err); + + _.each(c.participants, function(p) { + if (p._id.toString() !== req.user._id.toString()) + c.partner = p; + }); + + rm = _.first(rm); + + if (!_.isUndefined(rm)) { + if (String(c.partner._id) == String(rm.owner._id)) { + c.recentMessage = c.partner.fullname + ': ' + rm.body; + } else { + c.recentMessage = 'You: ' + rm.body + } + } else { + c.recentMessage = 'New Conversation'; + } + + if (!_.isUndefined(userMeta) && !_.isUndefined(userMeta.deletedAt) && !_.isUndefined(rm) && rm.createdAt < userMeta.deletedAt) + c.recentMessage = 'New Conversation'; + + self.content.data.conversations.push(c); + + return done(); + }) + }, function(err) { + if (err) return next(err); + + return next(); }); - } - ], - function(err, results) { - res.render('messages', self.content); - }); + }); + }, + function(next) { + self.content.data.page = 2; -}; + conversationSchema.getConversation(cid, function(err, convo) { + if (err) return next(err); -messagesController.getById = function(req, res, next) { - var self = this; - self.content = {}; - self.content.title = "Messages"; - self.content.nav = 'messages'; - self.content.subnav = 'messages-inbox'; - self.content.folder = "Inbox"; - self.content.folderNum = 0; - self.content.data = {}; - self.content.data.user = req.user; - self.content.data.common = req.viewdata; + if (convo == null || convo == undefined) + return res.redirect('/messages'); + var c = convo.toObject(); + messageSchema.getConversationWithObject({cid: c._id, userMeta: convo.userMeta, requestingUser: req.user}, function(err, messages) { + if (err) return next(err); - var messages = require('../models/message'); - self.content.data.messages = {}; - async.parallel([ - function(callback) { - messages.getUserFolder(req.user._id, 0, function(err, objs) { - self.content.data.messages.items = objs; - self.content.data.messages.count = _.size(objs); + _.each(c.participants, function(p) { + if (p._id.toString() !== req.user._id.toString()) { + c.partner = p; + } + }); - callback(err, objs); - }); - }, - function(callback) { - messages.getMessageById(req.params.id, function(err, obj) { - self.content.data.messages.message = obj; + c.requestingUserMeta = convo.userMeta[_.findIndex(convo.userMeta, function(item) { return item.userId.toString() == req.user._id.toString(); })]; - callback(err, obj); - }); - } - ], - function(err, results) { - if (err) { - throw new Error(err); - } + self.content.data.conversation = c; + self.content.data.conversation.messages = messages.reverse(); - res.render('messages', self.content); - }); + return next(); + }) + }); + } + ], function(err) { + if (err) return handleError(res, err); + return res.render('messages', self.content); + }); }; +function handleError(res, err) { + if (err) { + winston.warn(err); + if (!err.status) res.status = 500; + else res.status = err.status; + return res.render('error', {layout: false, error: err, message: err.message}); + } +} + module.exports = messagesController; \ No newline at end of file diff --git a/src/controllers/notices.js b/src/controllers/notices.js index 2e41b06d6..3398481b7 100644 --- a/src/controllers/notices.js +++ b/src/controllers/notices.js @@ -12,19 +12,12 @@ **/ -var async = require('async'); var _ = require('underscore'); -var _s = require('underscore.string'); -var flash = require('connect-flash'); -var userSchema = require('../models/user'); var noticeSchema = require('../models/notice'); var permissions = require('../permissions'); -var mongoose = require('mongoose'); var noticesController = {}; -noticesController.content = {}; - noticesController.get = function(req, res) { var user = req.user; if (_.isUndefined(user) || !permissions.canThis(user.role, 'notices:create')) { diff --git a/src/controllers/plugins.js b/src/controllers/plugins.js new file mode 100644 index 000000000..95e59ec9d --- /dev/null +++ b/src/controllers/plugins.js @@ -0,0 +1,40 @@ +/* + . .o8 oooo + .o8 "888 `888 + .o888oo oooo d8b oooo oooo .oooo888 .ooooo. .oooo.o 888 oooo + 888 `888""8P `888 `888 d88' `888 d88' `88b d88( "8 888 .8P' + 888 888 888 888 888 888 888ooo888 `"Y88b. 888888. + 888 . 888 888 888 888 888 888 .o o. )88b 888 `88b. + "888" d888b `V88V"V8P' `Y8bod88P" `Y8bod8P' 8""888P' o888o o888o + ======================================================================== + Created: 02/03/2017 + Author: Chris Brame + + **/ + +var _ = require('underscore'); + +var pluginsController = {}; + +pluginsController.get = function(req, res) { + var self = this; + self.content = {}; + self.content.title = "Plugins"; + self.content.nav = 'plugins'; + + self.content.data = {}; + self.content.data.user = req.user; + self.content.data.common = req.viewdata; + self.content.data.plugins = {}; + self.content.data.plugins.installed = JSON.stringify(global.plugins, null, 2); + + res.render('plugins', self.content); +}; + +function handleError(res, err) { + if (err) { + return res.render('error', {layout: false, error: err, message: err.message}); + } +} + +module.exports = pluginsController; \ No newline at end of file diff --git a/src/controllers/reports.js b/src/controllers/reports.js index be4b902cf..858a81e52 100644 --- a/src/controllers/reports.js +++ b/src/controllers/reports.js @@ -14,19 +14,15 @@ var async = require('async'); var _ = require('underscore'); -var _s = require('underscore.string'); -var flash = require('connect-flash'); -var userSchema = require('../models/user'); var ticketSchema = require('../models/ticket'); var reports = require('../models/report'); var permissions = require('../permissions'); -var mongoose = require('mongoose'); var reportsController = {}; reportsController.content = {}; -reportsController.overview = function(req, res, next) { +reportsController.overview = function(req, res) { var user = req.user; if (_.isUndefined(user) || !permissions.canThis(user.role, 'reports:view')) { req.flash('message', 'Permission Denied.'); @@ -75,7 +71,7 @@ reportsController.overview = function(req, res, next) { }); }; -reportsController.breakdown = function(req, res, next) { +reportsController.breakdown = function(req, res) { var user = req.user; if (_.isUndefined(user) || !permissions.canThis(user.role, 'reports:view')) { req.flash('message', 'Permission Denied.'); diff --git a/src/controllers/servers.js b/src/controllers/servers.js index c446652e0..c57966084 100644 --- a/src/controllers/servers.js +++ b/src/controllers/servers.js @@ -12,13 +12,13 @@ **/ -var async = require('async'); + var serversController = {}; serversController.content = {}; -serversController.get = function(req, res, next) { +serversController.get = function(req, res) { var self = this; self.content = {}; self.content.title = "Servers"; diff --git a/src/controllers/settings.js b/src/controllers/settings.js index b2a4e9532..427e5da7f 100644 --- a/src/controllers/settings.js +++ b/src/controllers/settings.js @@ -14,15 +14,11 @@ var async = require('async'); var _ = require('underscore'); -var _s = require('underscore.string'); var winston = require('winston'); -var flash = require('connect-flash'); var jsStringEscape = require('js-string-escape'); -var userSchema = require('../models/user'); var settingSchema = require('../models/setting'); var tagSchema = require('../models/tag'); var permissions = require('../permissions'); -var mongoose = require('mongoose'); var settingsController = {}; @@ -82,6 +78,9 @@ settingsController.get = function(req, res) { s.allowPublicTickets = _.find(settings, function(x) { return x.name === 'allowPublicTickets:enable' }); s.allowPublicTickets = (s.allowPublicTickets === undefined) ? {value: false} : s.allowPublicTickets; + s.allowUserRegistration = _.find(settings, function(x) { return x.name === 'allowUserRegistration:enable' }); + s.allowUserRegistration = (s.allowUserRegistration === undefined) ? {value: false} : s.allowUserRegistration; + self.content.data.settings = s; return res.render('settings', self.content); @@ -181,7 +180,7 @@ settingsController.tags = function(req, res) { return next(err); }); } - ], function(err) { + ], function() { self.content.data.tags = _.sortBy(resultTags, function(o){ return o.tag.name; }); return res.render('tags', self.content) }); diff --git a/src/database/index.js b/src/database/index.js index f9725ac11..17860b21d 100644 --- a/src/database/index.js +++ b/src/database/index.js @@ -14,19 +14,11 @@ var mongoose = require('mongoose'), nconf = require('nconf'), - d = require('domain').create(), winston = require('winston'); var db = {}; var CONNECTION_URI = 'mongodb://' + nconf.get('mongo:username') + ':' + nconf.get('mongo:password') + '@' + nconf.get('mongo:host') + ':' + nconf.get('mongo:port') + '/' + nconf.get('mongo:database'); -//var CONNECTION_URI = 'mongodb://trudesk:#TruDesk$@127.0.0.1/trudesk'; -//var CONNECTION_URI = 'mongodb://trudesk:#TruDesk$@dogen.mongohq.com:10094/app31908899'; -//var CONNECTION_URI = 'mongodb://trudesk:#TruDesk1$@trudesk.granvillecounty.org:27017/trudesk'; - -d.on('error', function(er) { - winston.error('Oh no, something went wrong with DB! - ' + er.message); -}); mongoose.connection.on('error', function(e) { winston.error('Oh no, something went wrong with DB! - ' + e.message); diff --git a/src/helpers/hbs/helpers.js b/src/helpers/hbs/helpers.js index b98248e7b..cc0ce4878 100644 --- a/src/helpers/hbs/helpers.js +++ b/src/helpers/hbs/helpers.js @@ -26,7 +26,6 @@ var moment = require('moment'); var conf = require('nconf'); - // The module to be exported var helpers = { @@ -65,7 +64,18 @@ var helpers = { if (value == null || value === 'undefined') { return options.inverse(this); } - if (value === test) { + if (value == test) { + return options.fn(this); + } else { + return options.inverse(this); + } + }, + + isAsString: function (value, test, options) { + if (value == null || value === 'undefined') { + return options.inverse(this); + } + if (value.toString() == test.toString()) { return options.fn(this); } else { return options.inverse(this); @@ -80,6 +90,17 @@ var helpers = { } }, + isNotAsString: function (value, test, options) { + if (value == null || value === 'undefined') { + return options.inverse(this); + } + if (value.toString() != test.toString()) { + return options.fn(this); + } else { + return options.inverse(this); + } + }, + lt: function (value, test, options) { if (value < test) { return options.fn(this); @@ -448,9 +469,43 @@ var helpers = { }, calendarDate: function(date) { + moment.locale('en', { + calendar: { + sameDay: '[Today at] LT', + lastDay: '[Yesterday at] LT', + nextDay: '[Tomorrow at] LT', + lastWeek: '[Last] ddd [at] LT', + nextWeek: 'ddd [at] LT', + sameElse: 'L' + } + }); return moment(date).calendar(); }, + fromNow: function(date) { + if (date == undefined) + return 'Never'; + moment.locale('en', { + relativeTime : { + future: "in %s", + past: "%s ago", + s: "a few seconds", + m: "1m", + mm: "%dm", + h: "1h", + hh: "%dh", + d: "1d", + dd: "%dd", + M: "1mo", + MM: "%dmos", + y: "1y", + yy: "%dyrs" + } + }); + + return moment(date).fromNow(); + }, + firstCap: function(str) { var _s = require('underscore.string'); return _s.capitalize(str); @@ -513,6 +568,22 @@ var helpers = { } }, + checkPlugin: function(user, permissions, options) { + if (user === undefined || permissions === undefined) + return options.inverse(this); + var pluginPermissions = permissions.split(' '); + var result = false; + for (var i = 0; i < pluginPermissions.length; i++) { + if (pluginPermissions[i] == user.role) + result = true; + } + + if (result) + return options.fn(this); + else + return options.inverse(this); + }, + checkEditSelf: function(user, owner, perm, options) { var P = require('../../permissions'); if (P.canThis(user.role, perm + ':editSelf')) { @@ -544,7 +615,7 @@ var helpers = { return i._id.toString() == value.toString(); }); - return !!result; + return result; }, json: function(str) { @@ -608,6 +679,7 @@ helpers.foreach = helpers.forEach; helpers.canUser = helpers.checkPerm; helpers.canUserRole = helpers.checkRole; helpers.canEditSelf = helpers.checkEditSelf; +helpers.hasPluginPerm = helpers.checkPlugin; helpers.inArray = helpers.hasGroup; diff --git a/src/helpers/plugins/index.js b/src/helpers/plugins/index.js new file mode 100644 index 000000000..765cfe098 --- /dev/null +++ b/src/helpers/plugins/index.js @@ -0,0 +1,32 @@ +/* + . .o8 oooo + .o8 "888 `888 + .o888oo oooo d8b oooo oooo .oooo888 .ooooo. .oooo.o 888 oooo + 888 `888""8P `888 `888 d88' `888 d88' `88b d88( "8 888 .8P' + 888 888 888 888 888 888 888ooo888 `"Y88b. 888888. + 888 . 888 888 888 888 888 888 .o o. )88b 888 `88b. + "888" d888b `V88V"V8P' `Y8bod88P" `Y8bod8P' 8""888P' o888o o888o + ======================================================================== + Created: 02/03/2017 + Author: Chris Brame + + **/ + +var pluginHelpers = {}; + +pluginHelpers.checkPermissions = function(userRole, permissions) { + if (userRole === undefined || permissions === undefined) + return false; + + var permissionArray = permissions.split(' '); + var result = false; + for (var i = 0; i < permissionArray.length; i++) { + if (userRole.toString().toLowerCase() == permissionArray[i].toString().toLowerCase()) + result = true; + } + + return result; +}; + + +module.exports = pluginHelpers; \ No newline at end of file diff --git a/src/helpers/utils/index.js b/src/helpers/utils/index.js index 4843077a3..834ae4e13 100644 --- a/src/helpers/utils/index.js +++ b/src/helpers/utils/index.js @@ -14,7 +14,6 @@ var _ = require('lodash'); var __ = require('underscore'); -var winston = require('winston'); module.exports.sendToSelf = function (socket, method, data) { socket.emit(method, data); diff --git a/src/helpers/viewdata/index.js b/src/helpers/viewdata/index.js index 95dcc0648..9b535e53a 100644 --- a/src/helpers/viewdata/index.js +++ b/src/helpers/viewdata/index.js @@ -20,9 +20,8 @@ var async = require('async'), var viewController = {}; var viewdata = {}; -viewdata.tickets = {}; viewdata.notifications = {}; -viewdata.messages = {}; +viewdata.users = {}; viewController.getData = function(request, cb) { async.parallel([ @@ -53,20 +52,17 @@ viewController.getData = function(request, cb) { }); }, function(callback) { - viewController.unreadMessageCount(request, function(data) { - viewdata.messages.unreadCount = data; - return callback(); - }); - }, - function(callback) { - viewController.getUserUnreadMessages(request, function(data) { - viewdata.messages.unreadItems = data; + viewController.getConversations(request, function(err, conversations) { + if (err) return callback(err); + + viewdata.conversations = conversations; + return callback(); }); }, function(callback) { viewController.getUsers(request, function(users) { - viewdata.messages.users = users; + viewdata.users = users; return callback(); }); @@ -114,6 +110,13 @@ viewController.getData = function(request, cb) { return callback(); }); + }, + function(callback) { + viewController.getPluginsInfo(request, function(err, data) { + viewdata.plugins = data; + + return callback(); + }); } ], function(err) { if (err) { @@ -162,25 +165,53 @@ viewController.getUnreadNotificationsCount = function(request, callback) { }); }; -viewController.unreadMessageCount = function(request, callback) { - var messageObj = require('../../models/message'); - messageObj.getUnreadInboxCount(request.user._id, function(err, data) { +viewController.getConversations = function(request, callback) { + var conversationSchema = require('../../models/chat/conversation'); + var messageSchema = require('../../models/chat/message'); + conversationSchema.getConversationsWithLimit(request.user._id, 10, function(err, conversations) { if (err) { - return callback(0); + winston.warn(err.message); + return callback(err); } - return callback(data); - }); -}; + var convos = []; -viewController.getUserUnreadMessages = function(request, callback) { - var messageSchema = require('../../models/message'); - messageSchema.getUserUnreadMessages(request.user._id, function(err, data) { - if (err) { - return callback(); - } + async.eachSeries(conversations, function(convo, done) { + var c = convo.toObject(); - return callback(data); + var userMeta = convo.userMeta[_.findIndex(convo.userMeta, function(item) { return item.userId.toString() == request.user._id.toString(); })]; + if (!_.isUndefined(userMeta) && !_.isUndefined(userMeta.deletedAt) && userMeta.deletedAt > convo.updatedAt) { + return done(); + } + + messageSchema.getMostRecentMessage(c._id, function(err, rm) { + if (err) return done(err); + + _.each(c.participants, function(p) { + if (p._id.toString() !== request.user._id.toString()) + c.partner = p; + }); + + rm = _.first(rm); + + if (!_.isUndefined(rm)) { + if (String(c.partner._id) == String(rm.owner._id)) { + c.recentMessage = c.partner.fullname + ': ' + rm.body; + } else { + c.recentMessage = 'You: ' + rm.body + } + } else { + c.recentMessage = 'New Conversation'; + } + + convos.push(c); + + return done(); + }) + + }, function(err) { + return callback(err, convos); + }); }); }; @@ -193,6 +224,14 @@ viewController.getUsers = function(request, callback) { } var u = _.reject(users, function(u) { return u.deleted == true; }); + u.password = null; + u.role = null; + u.resetPassHash = null; + u.resetPassExpire = null; + u.accessToken = null; + u.iOSDeviceTokens = null; + u.preferences = null; + u = _.sortBy(u, 'fullname'); return callback(u); @@ -274,4 +313,23 @@ viewController.getOverdueSetting = function(request, callback) { }); }; +viewController.getPluginsInfo = function(request, callback) { + //Load Plugin routes + var dive = require('dive'); + var path = require('path'); + var fs = require('fs'); + var pluginDir = path.join(__dirname, '../../../plugins'); + if (!fs.existsSync(pluginDir)) fs.mkdirSync(pluginDir); + var plugins = []; + dive(pluginDir, {directories: true, files: false, recursive: false}, function(err, dir) { + if (err) throw err; + delete require.cache[require.resolve(path.join(dir, '/plugin.json'))]; + var pluginPackage = require(path.join(dir, '/plugin.json')); + plugins.push(pluginPackage); + }, function() { + return callback(null, _.sortBy(plugins, 'name')); + }); + +}; + module.exports = viewController; diff --git a/src/install/index.js b/src/install/index.js index 3511fa6bc..f3ca62c92 100644 --- a/src/install/index.js +++ b/src/install/index.js @@ -149,7 +149,8 @@ function checkSetupFlag(next) { install.values = setupVal; next(); } else { - winston.error('Required values are missing for automated setup:'); + const error = 'Required values are missing for automated setup:'; + winston.error(error); if (!setupVal['admin:username']) { winston.error(' admin:username'); } @@ -163,7 +164,7 @@ function checkSetupFlag(next) { winston.error(' admin:email'); } - process.exit(); + throw new Error(error); } } else { next(); @@ -250,7 +251,7 @@ function setupConfig(next) { if (err) { process.stdout.write('\n\n'); winston.warn('trudesk setup ' + err.message); - process.exit(); + throw new Error('Error: ' + err.message); } completeConfigSetup(err, config, next); @@ -277,13 +278,13 @@ function createAdministrator(next) { db.init(function(err) { if (err) { winston.error('Database Error: ' + err.message); - process.exit(); + throw new Error('Database Error: ' + err.message); } else { var Group = require('../models/group'); Group.getGroupByName('Administrators', function(err, group) { if (err) { winston.error('Database Error: ' + err.message); - process.exit(); + throw new Error('Database Error: ' + err.message); } if (!_.isNull(group) && !_.isUndefined(group) && !_.isEmpty(group)) { @@ -300,7 +301,7 @@ function createAdministrator(next) { adminGroup.save(function(err) { if (err) { winston.error('Database Error:' + err.message); - process.exit(); + throw new Error('Database Error: ' + err.message); } createAdmin(next); @@ -319,13 +320,13 @@ function createAdmin(next) { db.init(function(err) { if (err) { winston.error('Database Error: ' + err.message); - process.exit(); + throw new Error('Database Error: ' + err.message); } User.getUserByUsername('Administrator', function(err, admin) { if (err) { winston.error('Database Error: ' + err.message); - process.exit(); + throw new Error('Database Error: ' + err.message); } if (!_.isNull(admin)) { @@ -381,31 +382,31 @@ function createAdmin(next) { user.save(function(err, aUser) { if (err) { winston.error('Database Error: ' + err.message); - process.exit(); + throw new Error('Database Error: ' + err.message); } Group.getGroupByName('Administrators', function(err, adminGroup) { if (err) { winston.error('Database Error: ' + err.message); - process.exit(); + throw new Error('Database Error: ' + err.message); } if (!_.isNull(adminGroup) && !_.isUndefined(adminGroup) && !_.isEmpty(adminGroup)) { adminGroup.addMember(aUser._id, function(err, success) { if (err) { winston.error('Database Error: ' + err.message); - process.exit(); + throw new Error('Database Error: ' + err.message); } if (!success) { winston.error('Unable to add Administrator to group Administrators. Aborting...'); - process.exit(); + throw new Error('Database Error: ' + err.message); } adminGroup.save(function(err) { if (err) { winston.error('Database Error: ' + err.message); - process.exit(); + throw new Error('Database Error: ' + err.message); } next(); @@ -546,8 +547,8 @@ install.setup = function(callback) { ], function(err) { if (err) { - winston.err('trudesk Setup Aborted. ' + err.message); - process.exit(); + winston.err('Trudesk Setup Aborted. ' + err.message); + throw new Error('Trudesk Setup Aborted. ' + err.message); } else { callback(); } diff --git a/src/mailer/mailCheck.js b/src/mailer/mailCheck.js index 23c6b7a15..634fe9bc5 100644 --- a/src/mailer/mailCheck.js +++ b/src/mailer/mailCheck.js @@ -15,8 +15,8 @@ var _ = require('underscore'); var async = require('async'); var Imap = require('imap'); -var inspect = require('util').inspect; -var MailParser = require('mailparser').MailParser; +//var inspect = require('util').inspect; +//var MailParser = require('mailparser').MailParser; var winston = require('winston'); var nconf = require('nconf'); var marked = require('marked'); @@ -185,6 +185,7 @@ mailCheck.fetchMail = function() { ], function(err) { if (err) winston.warn(err); mailCheck.Imap.closeBox(true, function(err) { + winston.debug(err); mailCheck.Imap.end(); }); }); diff --git a/src/mailer/mailqueue.js b/src/mailer/mailqueue.js index 294d74fea..c184794bb 100644 --- a/src/mailer/mailqueue.js +++ b/src/mailer/mailqueue.js @@ -13,7 +13,6 @@ **/ var mongoose = require('mongoose'); -var _ = require('underscore'); var COLLECTION = 'mailqueue'; diff --git a/src/memory/index.js b/src/memory/index.js new file mode 100644 index 000000000..5fce76ada --- /dev/null +++ b/src/memory/index.js @@ -0,0 +1,39 @@ +var memwatch = require('memwatch-next'); +var winston = require('winston'); +memwatch.on('leak', function(info) { + winston.warn('MEMORY LEAK: '); + winston.warn(info); +}); + +var filename = 'memstats'; +var firstLine = true; + +memwatch.on("stats", function(stats) { + var fs = require("fs"), + info = []; + + if(firstLine) { + info.push("num_full_gc"); + info.push("num_inc_gc"); + info.push("heap_compactions"); + info.push("usage_trend"); + info.push("estimated_base"); + info.push("current_base"); + info.push("min"); + info.push("max"); + fs.appendFileSync(filename, info.join(",") + "\n"); + info = []; + firstLine = false; + } + + info.push(stats["num_full_gc"]); + info.push(stats["num_inc_gc"]); + info.push(stats["heap_compactions"]); + info.push(stats["usage_trend"]); + info.push(stats["estimated_base"]); + info.push(stats["current_base"]); + info.push(stats["min"]); + info.push(stats["max"]); + + fs.appendFile(filename, info.join(",") + "\n"); +}); \ No newline at end of file diff --git a/src/middleware/index.js b/src/middleware/index.js index d5a9f7f99..eca4496b4 100644 --- a/src/middleware/index.js +++ b/src/middleware/index.js @@ -12,10 +12,12 @@ **/ -var path = require('path'), +var _ = require('underscore'), + path = require('path'), async = require('async'), express = require('express'), mongoose = require('mongoose'), + HandleBars = require('handlebars').create(), hbs = require('express-hbs'), hbsHelpers = require('../helpers/hbs/helpers'), winston = require('winston'), @@ -25,8 +27,7 @@ var path = require('path'), favicon = require('serve-favicon'), session = require('express-session'), MongoStore = require('connect-mongo')(session), - passportConfig = require('../passport')(), - logger = require('morgan'); + passportConfig = require('../passport')(); var middleware = {}; @@ -35,7 +36,9 @@ module.exports = function(app, db, callback) { middleware = require('./middleware')(app); app.set('views', path.join(__dirname, '../views/')); - app.engine('hbs', hbs.express3({ + global.HandleBars = HandleBars; + app.engine('hbs', hbs.express4({ + handlebars: HandleBars, defaultLayout: path.join(__dirname, '../views/layout/main.hbs'), partialsDir: [path.join(__dirname + '/../views/partials/')] })); @@ -97,12 +100,28 @@ module.exports = function(app, db, callback) { app.use(express.static(path.join(__dirname, '../../', 'public'))); - next(null, store); + //Remove to enable plugins + //next(null, store); + global.plugins = []; + var dive = require('dive'); + dive(path.join(__dirname, '../../plugins'), {directories: true, files: false, recursive: false}, function(err, dir) { + if (err) throw err; + var plugin = require(path.join(dir, 'plugin.json')); + if (_.findWhere(global.plugins, {'name': plugin.name}) != undefined) + throw new Error('Unable to load plugin with duplicate name: ' + plugin.name); + + global.plugins.push({name: plugin.name.toLowerCase(), version: plugin.version}); + var pluginPublic = path.join(dir, '/public'); + app.use('/plugins/' + plugin.name, express.static(pluginPublic)); + winston.debug('Detected Plugin: ' + plugin.name.toLowerCase() + '-' + plugin.version); + }, function() { + next(null, store); + }); } ], function(err, s) { if (err) { winston.error(err); - process.exit(); + throw new Error(err); } callback(middleware, s); diff --git a/src/middleware/middleware.js b/src/middleware/middleware.js index c7d779189..477f9ea9b 100644 --- a/src/middleware/middleware.js +++ b/src/middleware/middleware.js @@ -14,15 +14,12 @@ "use strict"; -var async = require('async'); var _ = require('lodash'); var db = require('../database'); -var path = require('path'); var mongoose = require('mongoose'); var winston = require('winston'); -var app, - middleware = {}; +var app, middleware = {}; middleware.db = function(req, res, next) { if (mongoose.connection.readyState !== 1) { @@ -39,31 +36,15 @@ middleware.db = function(req, res, next) { next(); }; -// middleware.redirectToInstall = function(req, res, next) { -// var fs = require('fs'); -// var path = require('path'); -// var config = path.join(__dirname, '../../config.json'); -// if (!fs.existsSync(config)) -// res.redirect('/install'); -// else -// next(); -// }; -// -// middleware.hasConfig = function(req, res, next) { -// var fs = require('fs'); -// var path = require('path'); -// var config = path.join(__dirname, '../../config.json'); -// if (fs.existsSync(config)) -// res.redirect('/install'); -// else -// next(); -// }; - middleware.redirectToDashboardIfLoggedIn = function(req, res, next) { if (req.user) { - res.redirect('/dashboard'); + if (req.user.tOTPKey) { + return middleware.ensurel2Auth(req, res, next); + } else { + return res.redirect('/dashboard'); + } } else { - next(); + return next(); } }; @@ -72,18 +53,47 @@ middleware.redirectToLogin = function(req, res, next) { if (!_.isUndefined(req.session)) req.session.redirectUrl = req.url; - res.redirect('/'); + return res.redirect('/'); } else { if (req.user.deleted) { req.logout(); + req.session.l2auth = null; req.session.destroy(); - res.redirect('/'); + return res.redirect('/'); } else { - next(); + if (!_.isUndefined(req.user.tOTPKey)) { + if (req.session.l2auth !== 'totp') { + return res.redirect('/'); + } + } + + return next(); } } }; +middleware.checkUserHasL2Auth = function(req, res, next) { + if (!req.user) { + return res.redirect('/'); + } else { + if (_.isUndefined(req.user.tOTPKey)) { + return next() + } + + next(); + } +}; + +middleware.ensurel2Auth = function(req, res, next) { + if (req.session.l2auth == 'totp') { + if (req.user) + return res.redirect('/dashboard'); + else + return next(); + } + return res.redirect('/l2auth'); +}; + //Common middleware.loadCommonData = function(req, res, next) { var viewdata = require('../helpers/viewdata'); @@ -116,6 +126,8 @@ middleware.api = function(req, res, next) { if (err) return res.status(401).json({'error': err.message}); if (!user) return res.status(401).json({'error': 'Invalid Access Token'}); + delete user['password']; + req.user = user; next(); diff --git a/src/models/chat/conversation.js b/src/models/chat/conversation.js new file mode 100644 index 000000000..feb7dc570 --- /dev/null +++ b/src/models/chat/conversation.js @@ -0,0 +1,90 @@ +/* + . .o8 oooo + .o8 "888 `888 + .o888oo oooo d8b oooo oooo .oooo888 .ooooo. .oooo.o 888 oooo + 888 `888""8P `888 `888 d88' `888 d88' `88b d88( "8 888 .8P' + 888 888 888 888 888 888 888ooo888 `"Y88b. 888888. + 888 . 888 888 888 888 888 888 .o o. )88b 888 `88b. + "888" d888b `V88V"V8P' `Y8bod88P" `Y8bod8P' 8""888P' o888o o888o + ======================================================================== + Created: 11/21/2016 + Author: Chris Brame + + **/ + +var async = require('async'); +var mongoose = require('mongoose'); +var _ = require('underscore'); + +var COLLECTION = "conversations"; + +/* + { + title: {String} // Group Title + userMeta: [ + { + userId: {ObjectId}, + joinedAt: {Date} + hasUnread: Boolean, + lastRead: {Date} + deletedAt: {Date} + } + ], + participants: [{Ref Accounts}] + } + */ + + +var conversationSchema = mongoose.Schema({ + title: { type: String }, + createdAt: {type: Date, default: Date.now }, + updatedAt: {type: Date, default: Date.now }, + userMeta: [new mongoose.Schema({ + userId: {type: mongoose.Schema.Types.ObjectId, ref: 'accounts'}, + joinedAt: {type: Date}, + hasUnread: {type: Boolean}, + lastRead: {type: Date}, + deletedAt: {type: Date} + }, {_id: false, timestamps: true})], + participants: [{type: mongoose.Schema.Types.ObjectId, ref: 'accounts'}] +}); + +conversationSchema.methods.isGroup = function() { + return this.participants.length > 2; +}; + +conversationSchema.statics.getConversations = function(userId, callback) { + if (!_.isArray(userId)) userId = [userId]; + return this.model(COLLECTION).find({ participants: {$size: 2, $all: userId} }) + .sort('-updatedAt') + .populate({ + path: 'participants', + select: 'username fullname email title image lastOnline' + }) + .exec(callback); +}; + +conversationSchema.statics.getConversation = function(convoId, callback) { + return this.model(COLLECTION).findOne({ _id: convoId }) + .populate({ + path: 'participants', + select: '_id username fullname email title image lastOnline' + }) + .exec(callback); +}; + +conversationSchema.statics.getConversationsWithLimit = function(userId, limit, callback) { + // if (!_.isArray(userId)) userId = [userId]; + var l = (!_.isUndefined(limit)) ? limit : 1000; + return this.model(COLLECTION).find({ participants: userId }) + .sort('-updatedAt') + .limit(l) + .populate({ + path: 'participants', + select: 'username fullname email title image lastOnline' + }) + .exec(callback); + +}; + +module.exports = mongoose.model(COLLECTION, conversationSchema); diff --git a/src/models/chat/message.js b/src/models/chat/message.js new file mode 100644 index 000000000..568e5a0dc --- /dev/null +++ b/src/models/chat/message.js @@ -0,0 +1 @@ +/* . .o8 oooo .o8 "888 `888 .o888oo oooo d8b oooo oooo .oooo888 .ooooo. .oooo.o 888 oooo 888 `888""8P `888 `888 d88' `888 d88' `88b d88( "8 888 .8P' 888 888 888 888 888 888 888ooo888 `"Y88b. 888888. 888 . 888 888 888 888 888 888 .o o. )88b 888 `88b. "888" d888b `V88V"V8P' `Y8bod88P" `Y8bod8P' 8""888P' o888o o888o ======================================================================== Created: 11/24/2016 Author: Chris Brame **/ var mongoose = require('mongoose'); var _ = require('underscore'); var COLLECTION = 'messages'; var messageSchema = mongoose.Schema({ conversation: {type: mongoose.Schema.Types.ObjectId, required: true, index: true}, owner: {type: mongoose.Schema.Types.ObjectId, ref: 'accounts', required: true, index: true}, body: {type: String, required: true} }, { timestamps: true }); messageSchema.statics.getFullConversation = function(convoId, callback) { return this.model(COLLECTION).find({ conversation: convoId }) .select('createdAt body owner') .sort('-createdAt') .populate({ path: 'owner', select: '_id username fullname email image lastOnline' }) .exec(callback); }; messageSchema.statics.getConversation = function(convoId, callback) { return this.model(COLLECTION).find({ conversation: convoId }) .select('createdAt body owner') .sort('-createdAt') .limit(25) .populate({ path: 'owner', select: '_id username fullname email image lastOnline' }) .exec(callback); }; messageSchema.statics.getConversationWithObject = function(object, callback) { if (!_.isObject(object)) { return callback('Invalid Object (Must by of type Object) - MessageSchema.GetUserWithObject()', null); } var self = this; var deletedAt = null; var limit = (object.limit == null ? 25 : object.limit); var page = (object.page == null ? 0 : object.page); if (object.requestingUser) { var userMetaIdx = _.findIndex(object.userMeta, function(item) { return item.userId.toString() == object.requestingUser._id.toString(); }); if (userMetaIdx != -1 && object.userMeta[userMetaIdx].deletedAt != null) deletedAt = new Date(object.userMeta[userMetaIdx].deletedAt); } var q = self.model(COLLECTION).find({}) .sort('-createdAt') .skip(page*limit) .populate({ path: 'owner', select: '_id username fullname email image lastOnline' }); if (limit != -1) q.limit(limit); if (object.cid != null) q.where({conversation: object.cid}); if (deletedAt) q.where({createdAt: {"$gte": deletedAt}}); return q.exec(callback); }; messageSchema.statics.getMostRecentMessage = function(convoId, callback) { return this.model(COLLECTION).find({ conversation: convoId }) .sort('-createdAt') .limit(1) .populate({ path: 'owner', select: '_id username fullname image lastOnline' }) .exec(callback); }; module.exports = mongoose.model(COLLECTION, messageSchema); \ No newline at end of file diff --git a/src/models/counters.js b/src/models/counters.js index cc8595a60..6ae1cb7e8 100644 --- a/src/models/counters.js +++ b/src/models/counters.js @@ -13,7 +13,6 @@ **/ var mongoose = require('mongoose'); -var _ = require('underscore'); var COLLECTION = 'counters'; diff --git a/src/models/history.js b/src/models/history.js index 9b808ead8..66172d77e 100644 --- a/src/models/history.js +++ b/src/models/history.js @@ -13,7 +13,6 @@ **/ var mongoose = require('mongoose'); -var _ = require('underscore'); var historySchema = mongoose.Schema({ action: { type: String, required: true}, diff --git a/src/models/message.js b/src/models/message.js deleted file mode 100644 index 794f18e45..000000000 --- a/src/models/message.js +++ /dev/null @@ -1 +0,0 @@ -/* . .o8 oooo .o8 "888 `888 .o888oo oooo d8b oooo oooo .oooo888 .ooooo. .oooo.o 888 oooo 888 `888""8P `888 `888 d88' `888 d88' `88b d88( "8 888 .8P' 888 888 888 888 888 888 888ooo888 `"Y88b. 888888. 888 . 888 888 888 888 888 888 .o o. )88b 888 `88b. "888" d888b `V88V"V8P' `Y8bod88P" `Y8bod8P' 8""888P' o888o o888o ======================================================================== **/ var mongoose = require('mongoose'); var _ = require('underscore'); var COLLECTION = 'messages'; var messageSchema = mongoose.Schema({ owner: { type: mongoose.Schema.Types.ObjectId, ref: 'accounts', required: true }, folder: { type: Number, default: 0, required: true }, unread: { type: Boolean, default: true, required: true }, from: { type: mongoose.Schema.Types.ObjectId, ref: 'accounts', required: true }, subject: { type: String, required: true }, date: { type: Date, default: Date.now, required: true }, message: { type: String, required: true} }); messageSchema.methods.updateUnread = function(unread, callback) { unread = _.isUndefined(unread) ? false : unread; this.model(COLLECTION).findOne({_id: this._id}, function(err, doc) { if (err) { return callback(err, doc); } doc.unread = unread; doc.save(); callback(err, doc); }); }; messageSchema.methods.moveToFolder = function(folder, callback) { this.model(COLLECTION).findOne({_id: this._id }, function(err, doc) { if (err) return callback(err, null); doc.folder = folder; doc.save(function(err, d) { callback(err, d); }); }); }; messageSchema.statics.getMessagesWithObject = function(obj, callback) { if (!_.isObject(obj)) { return callback("Invalid Object (Must be of type Object) - MessageSchema.GetMessagesWithObject()", null); } if (_.isUndefined(obj.owner) || _.isNull(obj.owner)) { return callback("Invalid Object Owner - MessageSchema.GetMessagesWithObject()", null); } var limit = (obj.limit == null ? 10 : obj.limit); var page = (obj.page == null ? 0 : obj.page); var folder = (obj.folder == null ? 0 : obj.folder); var q = this.model(COLLECTION).find({owner: obj.owner, folder: folder}) .populate('owner', 'username fullname email role preferences image title') .populate('from', 'username fullname email role preferences image title') .sort('-date') .skip(page*limit) .limit(limit); return q.exec(callback); }; messageSchema.statics.getUnreadInboxCount = function(oId, callback) { if (_.isUndefined(oId)) { return callback("Invalid OwnerId - MessageSchema.GetUnreadInbox()", null); } return this.model(COLLECTION).count({owner: oId, folder: 0, unread: true}, callback); }; messageSchema.statics.getUserFolder = function(oId, folder, callback) { if (_.isUndefined(oId)) { return callback("Invalid OwnerId - MessageSchema.GetUserFolder()", null); } if (_.isUndefined(folder)) { return callback("Invalid Folder - MessageSchema.GetUserFolder()", null); } var q = this.model(COLLECTION).find({owner: oId, folder: folder}) .populate('owner', 'username fullname email role preferences image title') .populate('from', 'username fullname email role preferences image title') .sort({date: -1}); return q.exec(callback); }; messageSchema.statics.getUserInbox = function(oId, callback) { if (_.isUndefined(oId)) { return callback("Invalid OwnerId - MessageSchema.GetUserInbox()", null); } var q = this.model(COLLECTION).find({owner: oId, folder: 0}) .populate('owner', 'username fullname email role preferences image title') .populate('from', 'username fullname email role preferences image title') .limit(50) .sort({'date': -1}); return q.exec(callback); }; messageSchema.statics.getUserSentBox = function(oId, callback) { if (_.isUndefined(oId)) { return callback("Invalid OwnerId - MessageSchema.GetUserSentBox()", null); } var q = this.model(COLLECTION).find({owner: oId, folder: 1}) .populate('owner', 'username fullname email role preferences image title') .populate('from', 'username fullname email role preferences image title') .limit(50); return q.exec(callback); }; messageSchema.statics.getUserTrashBox = function(oId, callback) { if (_.isUndefined(oId)) { return callback("Invalid OwnerId - MessageSchema.GetUserTrashBox()", null); } var q = this.model(COLLECTION).find({owner: oId, folder: 2}) .populate('owner', 'username fullname email role preferences image title') .populate('from', 'username fullname email role preferences image title') .limit(50); return q.exec(callback); }; messageSchema.statics.getMessageById = function(mId, callback) { if (_.isUndefined(mId)) { return callback("Invalid MessageId - MessageSchema.GetMessageById()", null); } var q = this.model(COLLECTION).findOne({_id: mId}) .populate('owner', 'username fullname email role preferences image title') .populate('from', 'username fullname email role preferences image title'); return q.exec(callback); }; messageSchema.statics.getUserUnreadMessages = function(oId, callback) { if (_.isUndefined(oId)) { return callback("Invalid OwnerId - MessageSchema.GetUserUnreadMessages()", null); } var q = this.model(COLLECTION).find({owner: oId, folder: 0, unread: true}) .populate('owner', 'username fullname email role preferences image title') .populate('from', 'username fullname email role preferences image title') .limit(50) .sort({'date': -1}); return q.exec(callback); }; messageSchema.statics.deleteMessage = function(mId, callback) { if (_.isUndefined(mId)) { return callback("Invalid MessageId - MessageSchema.DeleteMessage()", null); } var q = this.model(COLLECTION).remove({_id: mId}); return q.exec(callback); }; module.exports = mongoose.model(COLLECTION, messageSchema); \ No newline at end of file diff --git a/src/models/notice.js b/src/models/notice.js index 50a50300f..e57755713 100644 --- a/src/models/notice.js +++ b/src/models/notice.js @@ -10,10 +10,7 @@ */ var mongoose = require('mongoose'); -var _ = require('underscore'); var deepPopulate = require('mongoose-deep-populate')(mongoose); -var accountsSchema = require('./user'); -var groupSchema = require('./group'); var COLLECTION = 'notices'; diff --git a/src/models/notification.js b/src/models/notification.js index 88d63ce88..572667075 100644 --- a/src/models/notification.js +++ b/src/models/notification.js @@ -12,7 +12,6 @@ **/ -var async = require('async'); var mongoose = require('mongoose'); var _ = require('lodash'); diff --git a/src/models/report.js b/src/models/report.js index 2da343d80..e61f7d074 100644 --- a/src/models/report.js +++ b/src/models/report.js @@ -12,8 +12,6 @@ var mongoose = require('mongoose'); var _ = require('underscore'); var deepPopulate = require('mongoose-deep-populate')(mongoose); -var accountsSchema = require('./user'); -var groupSchema = require('./group'); var COLLECTION = 'reports'; @@ -50,7 +48,7 @@ reportSchema.pre('save', function(next) { var c = require('./counters'); var self = this; - c.increment('reports', function(err, res, k) { + c.increment('reports', function(err, res) { if (err) return next(err); self.uid = res.value.next; diff --git a/src/models/server.js b/src/models/server.js index a8459ce0e..9b6d73872 100644 --- a/src/models/server.js +++ b/src/models/server.js @@ -13,7 +13,6 @@ **/ var mongoose = require('mongoose'); -var _ = require('underscore'); var COLLECTION = 'servers'; diff --git a/src/models/setting.js b/src/models/setting.js index 296c5d7f6..8047af7f6 100644 --- a/src/models/setting.js +++ b/src/models/setting.js @@ -13,7 +13,6 @@ **/ var mongoose = require('mongoose'); -var _ = require('underscore'); var COLLECTION = 'settings'; diff --git a/src/models/tag.js b/src/models/tag.js index d04ebd15d..f3e663b22 100644 --- a/src/models/tag.js +++ b/src/models/tag.js @@ -13,7 +13,6 @@ **/ var mongoose = require('mongoose'); -var _ = require('underscore'); var COLLECTION = 'tags'; diff --git a/src/models/task.js b/src/models/task.js index 529aa08a5..d076a139d 100644 --- a/src/models/task.js +++ b/src/models/task.js @@ -13,7 +13,6 @@ **/ var mongoose = require('mongoose'); -var _ = require('underscore'); var COLLECTION = 'tasks'; diff --git a/src/models/ticket.js b/src/models/ticket.js index d01940c73..20ef567b3 100644 --- a/src/models/ticket.js +++ b/src/models/ticket.js @@ -18,7 +18,7 @@ var _ = require('underscore'); var deepPopulate = require('mongoose-deep-populate')(mongoose); var moment = require('moment'); -//Needed! +//Needed - Even if unused! var groupSchema = require('./group'); var ticketTypeSchema = require('./tickettype'); var userSchema = require('./user'); diff --git a/src/models/tickettype.js b/src/models/tickettype.js index ceff781fb..dc8130dfa 100644 --- a/src/models/tickettype.js +++ b/src/models/tickettype.js @@ -13,7 +13,6 @@ **/ var mongoose = require('mongoose'); -var _ = require('underscore'); var COLLECTION = 'tickettypes'; diff --git a/src/models/user.js b/src/models/user.js index c3248c99e..12eaef652 100644 --- a/src/models/user.js +++ b/src/models/user.js @@ -33,10 +33,13 @@ var COLLECTION = "accounts"; * @property {String} fullname ```Required``` Full name of user * @property {String} email ```Required``` ```unique``` Email Address of user * @property {String} role ```Required``` Permission role of the given user. See {@link Permissions} + * @property {Date} lastOnline Last timestamp given user was online. * @property {String} title Job Title of user * @property {String} image Filename of user image * @property {String} resetPassHash Password reset has for recovery password link. * @property {Date} resetPassExpire Date when the password recovery link will expire + * @property {String} tOTPKey One Time Password Secret Key + * @property {Number} tOTPPeriod One Time Password Key Length (Time) - Default 30 Seconds * @property {String} accessToken API Access Token * @property {Array} iOSDeviceTokens Array of String based device Ids for Apple iOS devices. *push notifications* * @property {Object} preferences Object to hold user preferences @@ -49,18 +52,22 @@ var userSchema = mongoose.Schema({ fullname: { type: String, required: true, index: true }, email: { type: String, required: true, unique: true }, role: { type: String, required: true }, + lastOnline: Date, title: String, image: String, resetPassHash: String, resetPassExpire: Date, + tOTPKey: String, + tOTPPeriod: Number, accessToken: { type: String, unique: true, sparse: true}, iOSDeviceTokens: [{type: String}], preferences: { - autoRefreshTicketGrid: { type: Boolean, default: true } + autoRefreshTicketGrid: { type: Boolean, default: true }, + openChatWindows: [{type: String, default: []}] }, deleted: { type: Boolean, default: false } @@ -77,7 +84,7 @@ userSchema.pre('save', function(next) { if (err) return next(err); user.password = hash; - next(); + return next(); }); }) }); @@ -89,7 +96,7 @@ userSchema.methods.addAccessToken = function(callback) { user.save(function(err) { if (err) return callback(err, null); - callback(null, user.accessToken); + return callback(null, user.accessToken); }); }; @@ -101,10 +108,44 @@ userSchema.methods.removeAccessToken = function(callback) { user.save(function(err) { if (err) return callback(err, null); - callback(); + return callback(); }); }; +userSchema.methods.generateL2Auth = function(callback) { + var user = this; + console.log(user.tOTPKey); + if (_.isUndefined(user.tOTPKey) || _.isNull(user.tOTPKey)) { + var chance = new Chance(); + var base32 = require('thirty-two'); + + var genOTPKey = chance.string({length: 7, pool: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ23456789'}); + var base32GenOTPKey = base32.encode(genOTPKey).toString().replace(/=/g, ''); + + user.tOTPKey = base32GenOTPKey; + user.save(function(err) { + if (err) return callback(err); + + return callback(null, base32GenOTPKey); + }); + } else + return callback(); + + +}; + +userSchema.methods.removeL2Auth = function(callback) { + var user = this; + if (!user.tOTPKey) return callback(); + + user.tOTPKey = undefined; + user.save(function(err) { + if (err) return callback(err, null); + + return callback(); + }) +}; + userSchema.methods.addDeviceToken = function(token, type, callback) { if (_.isUndefined(token)) return callback("Invalid token"); var user = this; @@ -114,7 +155,7 @@ userSchema.methods.addDeviceToken = function(token, type, callback) { if (hasDeviceToken(user, token, type)) return callback(null, token); user.iOSDeviceTokens.push(token); - user.save(function(err, u) { + user.save(function(err) { if (err) return callback(err, null); callback(null, token); @@ -132,17 +173,72 @@ userSchema.methods.removeDeviceToken = function(token, type, callback) { user.save(function(err, u) { if (err) return callback(err, null); - callback(null, u.iOSDeviceTokens); + return callback(null, u.iOSDeviceTokens); }); } }; +userSchema.methods.addOpenChatWindow = function(convoId, callback) { + if (convoId == undefined) { + if (!_.isFunction(callback)) return; + return callback('Invalid convoId'); + } + var user = this; + var hasChatWindow = (_.filter(user.preferences.openChatWindows, function(value) { + return value.toString() === convoId.toString(); + }).length > 0); + + if (hasChatWindow) { + if (!_.isFunction(callback)) return; + return callback(); + } + user.preferences.openChatWindows.push(convoId.toString()); + user.save(function(err, u) { + if (err) { + if (!_.isFunction(callback)) return; + return callback(err); + } + + if (!_.isFunction(callback)) return; + return callback(null, u.preferences.openChatWindows); + }) +}; + +userSchema.methods.removeOpenChatWindow = function(convoId, callback) { + if (convoId == undefined) { + if (!_.isFunction(callback)) return; + return callback('Invalid convoId'); + } + var user = this; + var hasChatWindow = (_.filter(user.preferences.openChatWindows, function(value) { + return value.toString() === convoId.toString(); + }).length > 0); + + if (!hasChatWindow) { + if (!_.isFunction(callback)) return; + return callback(); + } + user.preferences.openChatWindows.splice(_.findIndex(user.preferences.openChatWindows, function(item) { + return item.toString() === convoId.toString(); + }), 1); + + user.save(function(err, u) { + if (err) { + if (!_.isFunction(callback)) return; + return callback(err); + } + + if (!_.isFunction(callback)) return; + return callback(null, u.preferences.openChatWindows); + }); +}; + userSchema.methods.softDelete = function(callback) { var user = this; user.deleted = true; - user.save(function(err, user) { + user.save(function(err) { if (err) return callback(err, false); callback(null, true); @@ -269,8 +365,9 @@ userSchema.statics.getUserWithObject = function(object, callback) { var q = self.model(COLLECTION).find({}, '-password -resetPassHash -resetPassExpire') .sort({'fullname': 1}) - .skip(page*limit) - .limit(limit); + .skip(page*limit); + if (limit != -1) + q.limit(limit); if (!_.isEmpty(search)) q.where({fullname: new RegExp("^" + search.toLowerCase(), 'i') }); diff --git a/src/passport/index.js b/src/passport/index.js index 6aa97207d..d7b311e34 100644 --- a/src/passport/index.js +++ b/src/passport/index.js @@ -14,9 +14,11 @@ var passport = require('passport'); var Local = require('passport-local').Strategy; +var TotpStrategy = require('passport-totp').Strategy; +var base32 = require('thirty-two'); var User = require('../models/user'); -module.exports = function(app) { +module.exports = function() { passport.serializeUser(function(user, done) { done(null, user.id); }); @@ -51,5 +53,16 @@ module.exports = function(app) { }); })); + passport.use('totp', new TotpStrategy({ + window: 6 + }, + function(user, done) { + if (user.tOTPPeriod === null || user.tOTPPeriod === undefined) + user.tOTPPeriod = 30; + + return done(null, base32.decode(user.tOTPKey).toString(), user.tOTPPeriod); + } + )); + return passport; }; \ No newline at end of file diff --git a/src/permissions/roles.js b/src/permissions/roles.js index fb93284e6..93e1c8393 100644 --- a/src/permissions/roles.js +++ b/src/permissions/roles.js @@ -62,5 +62,5 @@ if (typeof exports !== 'undefined') { exports = module.exports = roles; } } else { - window.roles = roles; + window.ROLES = roles; } \ No newline at end of file diff --git a/src/public/js/angularjs/.eslintrc.json b/src/public/js/angularjs/.eslintrc.json new file mode 100644 index 000000000..9cf482bf1 --- /dev/null +++ b/src/public/js/angularjs/.eslintrc.json @@ -0,0 +1,18 @@ +{ + "plugins": ["angular"], + "extends": ["eslint:recommended", "angular"], + "env": { + "browser": true, + "node": true + }, + "rules": { + "no-console": "off", + "angular/angularelement": "off", + "angular/controller-as": "off" + }, + "globals": { + "angular": 1, + "define": 1, + "requirejs": 1 + } +} \ No newline at end of file diff --git a/src/public/js/angularjs/controllers.js b/src/public/js/angularjs/controllers.js index 55f2ee7de..e268d2194 100644 --- a/src/public/js/angularjs/controllers.js +++ b/src/public/js/angularjs/controllers.js @@ -11,50 +11,52 @@ Author: Chris Brame **/ - -define([ - 'jquery', - 'angular', - 'underscore', - 'history', - - 'angularjs/controllers/common', - 'angularjs/controllers/profile', - 'angularjs/controllers/accounts', - 'angularjs/controllers/groups', - 'angularjs/controllers/tickets', - 'angularjs/controllers/singleTicket', - 'angularjs/controllers/messages', - 'angularjs/controllers/notices', - 'angularjs/controllers/reports', - 'angularjs/controllers/settings' +//require.ensure(['jquery', 'angular', 'underscore'], function() { + define([ + 'jquery', + 'angular', + 'underscore', + + 'angularjs/controllers/common', + 'angularjs/controllers/profile', + 'angularjs/controllers/accounts', + 'angularjs/controllers/groups', + 'angularjs/controllers/tickets', + 'angularjs/controllers/singleTicket', + 'angularjs/controllers/messages', + 'angularjs/controllers/notices', + 'angularjs/controllers/plugins', + 'angularjs/controllers/reports', + 'angularjs/controllers/settings' ], function($, angular, _) { - return angular.module('trudesk.controllers', - [ - 'trudesk.controllers.common', - - 'trudesk.controllers.profile', - 'trudesk.controllers.accounts', - 'trudesk.controllers.groups', - 'trudesk.controllers.tickets', - 'trudesk.controllers.singleTicket', - 'trudesk.controllers.messages', - 'trudesk.controllers.notices', - 'trudesk.controllers.reports', - 'trudesk.controllers.settings' - ]) - .controller('truCtrl', ['openNewMessageWindow', '$scope', function(openNewMessageWindow, $scope) { - $scope.submitForm = function(formName, $event) { - if (_.isNull(formName) || _.isUndefined(formName)) return true; - - $event.preventDefault(); - - var form = $('#' + formName); - if (!_.isUndefined(form)) { - form.submit(); - } - }; - }]); -}); \ No newline at end of file + return angular.module('trudesk.controllers', + [ + 'trudesk.controllers.common', + + 'trudesk.controllers.profile', + 'trudesk.controllers.accounts', + 'trudesk.controllers.groups', + 'trudesk.controllers.tickets', + 'trudesk.controllers.singleTicket', + 'trudesk.controllers.messages', + 'trudesk.controllers.notices', + 'trudesk.controllers.plugins', + 'trudesk.controllers.reports', + 'trudesk.controllers.settings' + ]) + .controller('truCtrl', function($scope) { + $scope.submitForm = function(formName, $event) { + if (_.isNull(formName) || _.isUndefined(formName)) return true; + + $event.preventDefault(); + + var form = $('#' + formName); + if (!_.isUndefined(form)) { + form.submit(); + } + }; + }); + }); +//}); diff --git a/src/public/js/angularjs/controllers/accounts.js b/src/public/js/angularjs/controllers/accounts.js index 49c8ebae0..0583c4827 100644 --- a/src/public/js/angularjs/controllers/accounts.js +++ b/src/public/js/angularjs/controllers/accounts.js @@ -14,7 +14,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'uikit', 'history', 'selectize', 'formvalidator'], function(angular, _, $, helpers, UIkit) { return angular.module('trudesk.controllers.accounts', []) - .controller('accountsCtrl', function($scope, $http, $timeout) { + .controller('accountsCtrl', function($scope, $http, $timeout, $log) { $scope.createAccount = function(event) { var data = {}; @@ -23,7 +23,6 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'uikit', 'history' event.preventDefault(); form.serializeArray().map(function(x){data[x.name] = x.value;}); data.aGrps = form.find('#aGrps').val(); - data.socketId = socketId; $http({ method: 'POST', url: '/api/v1/users/create', @@ -48,7 +47,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'uikit', 'history' //History.pushState(null, null, '/tickets/'); }).error(function(err) { - console.log('[trudesk:accounts:createAccount] - ' + err.error.message); + $log.log('[trudesk:accounts:createAccount] - ' + err.error.message); helpers.UI.showSnackbar('Error: ' + err.error.message, true); }); }; @@ -89,7 +88,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'uikit', 'history' running = false; }).error(function(err) { - console.log('[trudesk:accounts:deleteAccount] - Error: ' + err.error); + $log.log('[trudesk:accounts:deleteAccount] - Error: ' + err.error); helpers.UI.showSnackbar(err.error, true); running = false; @@ -117,7 +116,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'uikit', 'history' helpers.UI.showSnackbar('Account successfully enabled', false); }).error(function(err) { - console.log('[trudesk:accounts:enableAccount] - Error: ' + err.error); + $log.log('[trudesk:accounts:enableAccount] - Error: ' + err.error); helpers.UI.showSnackbar(err.error, true); }); }; @@ -159,7 +158,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'uikit', 'history' if (!modal.isActive()) modal.show(); }).error(function(err) { - console.log('[trudesk:Accounts:editAccount] - Error: ' + err.error); + $log.log('[trudesk:Accounts:editAccount] - Error: ' + err.error); helpers.UI.showSnackbar(err.error, true); }); }; @@ -169,6 +168,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'uikit', 'history' var data = form.serializeObject(); data.aUsername = form.find('#aUsername').val(); data.aGrps = form.find('#aGrps').val(); + data.saveGroups = true; $http({ method: 'PUT', @@ -192,7 +192,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'uikit', 'history' }).error(function(err) { - console.log('[trudesk:accounts:saveAccount] - ' + err.error.message); + $log.log('[trudesk:accounts:saveAccount] - ' + err.error.message); helpers.UI.showSnackbar('Error: ' + err.error.message, true); }); }; diff --git a/src/public/js/angularjs/controllers/common.js b/src/public/js/angularjs/controllers/common.js index 684cc2353..6c1883b69 100644 --- a/src/public/js/angularjs/controllers/common.js +++ b/src/public/js/angularjs/controllers/common.js @@ -14,7 +14,7 @@ define(['angular', 'underscore', 'jquery', 'modules/socket', 'uikit', 'history'], function(angular, _, $, socket, UI) { return angular.module('trudesk.controllers.common', ['trudesk.controllers.messages']) - .controller('commonCtrl', ['openNewMessageWindow', '$scope', '$http', '$cookies', '$timeout', function(openNewMessageWindow, $scope, $http, $cookies, $timeout) { + .controller('commonCtrl', function($scope, $http, $cookies, $timeout) { //NG Init function $scope.setDefaultCreateTicketValues = function() { @@ -23,11 +23,11 @@ define(['angular', 'underscore', 'jquery', 'modules/socket', 'uikit', 'history'] var modal = $(event.target); if (modal.length > 0) { var $group = modal.find('select#group'); - if ($group[0] !== undefined) { + if (angular.isDefined($group[0])) { var $group_selectize = $group[0].selectize; var options = $group_selectize.options; var first = _.chain(options).map(function(v, k) { - if (v.$order != undefined && v.$order === 1) return k; + if (angular.isDefined(v.$order) && v.$order === 1) return k; }).first().value(); if (first) $group_selectize.addItem(first, true); @@ -36,11 +36,11 @@ define(['angular', 'underscore', 'jquery', 'modules/socket', 'uikit', 'history'] } var $type = modal.find('select#type'); - if ($type[0] !== undefined) { + if (angular.isDefined($type[0])) { var $type_selectize = $type[0].selectize; options = $type_selectize.options; first = _.chain(options).map(function(v, k) { - if (v.$order != undefined && v.$order === 1) return k; + if (angular.isDefined(v.$order) && v.$order === 1) return k; }).first().value(); if (first) @@ -86,8 +86,8 @@ define(['angular', 'underscore', 'jquery', 'modules/socket', 'uikit', 'history'] $scope.noticeAlertWindow = $('#noticeAlertWindow'); if ($scope.noticeAlertWindow.length > 0) { var cookieName = $('#__noticeCookieName').text(); - if (cookieName == 'undefined' || _.isEmpty(cookieName)) return true; - var shouldShowNotice = ($cookies.get(cookieName) == 'true' || $cookies.get(cookieName) == undefined); + if (angular.isUndefined(cookieName) || _.isEmpty(cookieName)) return true; + var shouldShowNotice = ($cookies.get(cookieName) == 'true' || angular.isUndefined($cookies.get(cookieName))); if (shouldShowNotice) { var modal = UI.modal($scope.noticeAlertWindow, { @@ -124,11 +124,6 @@ define(['angular', 'underscore', 'jquery', 'modules/socket', 'uikit', 'history'] socket.ui.markNotificationRead($id); }; - $scope.openNewMessageWindow = function($event) { - $event.preventDefault(); - openNewMessageWindow.openWindow(); - }; - $scope.closeNoticeAlert = function($event) { $event.preventDefault(); UI.modal('#noticeAlertWindow').hide(); @@ -148,18 +143,18 @@ define(['angular', 'underscore', 'jquery', 'modules/socket', 'uikit', 'history'] } }; - }]) - .directive('closeUkDropdown', ['$document', '$timeout', function($document, $timeout) { + }) + .directive('closeUkDropdown', function($document, $timeout) { return { restrict: 'A', - link: function(scope, element, attr) { + link: function(scope, element) { //$document.off('mouseup', mouseup); //$document.on('mouseup', mouseup); element.off('mouseup', mouseup); element.on('mouseup', mouseup); - function mouseup($event) { + function mouseup() { var this_dropdown = element.parents('.uk-dropdown'); this_dropdown.removeClass('uk-dropdown-shown'); @@ -172,5 +167,5 @@ define(['angular', 'underscore', 'jquery', 'modules/socket', 'uikit', 'history'] } } } - }]); + }); }); \ No newline at end of file diff --git a/src/public/js/angularjs/controllers/groups.js b/src/public/js/angularjs/controllers/groups.js index aca2a80c1..612dbd19f 100644 --- a/src/public/js/angularjs/controllers/groups.js +++ b/src/public/js/angularjs/controllers/groups.js @@ -14,7 +14,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'uikit', 'history'], function(angular, _, $, helpers, UIkit) { return angular.module('trudesk.controllers.groups', []) - .controller('groupsCtrl', function($scope, $http) { + .controller('groupsCtrl', function($scope, $http, $timeout, $log) { $scope.editGroup = function($event) { if (_.isNull($event.target) || _.isUndefined($event.target)) @@ -49,7 +49,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'uikit', 'history' UIkit.modal('#groupEditModal').show(); }) .error(function(err) { - console.log('[trudesk:groups:editGroup] - Error: ' + err); + $log.log('[trudesk:groups:editGroup] - Error: ' + err); helpers.UI.showSnackbar(err, true); }); }; @@ -80,7 +80,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'uikit', 'history' refreshGrid(); }) .error(function(err) { - console.log('[trudesk:groups:saveEditGroup] - Error: ' + err); + $log.log('[trudesk:groups:saveEditGroup] - Error: ' + err); helpers.UI.showSnackbar(err.error, true); }); }; @@ -103,12 +103,12 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'uikit', 'history' helpers.UI.showSnackbar('Group Created Successfully', false); UIkit.modal("#groupCreateModal").hide(); //Refresh Grid - setTimeout(function() { + $timeout(function() { refreshGrid(); }, 0); }) .error(function(err) { - console.log('[trudesk:groups:createGroup] - Error: ' + err); + $log.log('[trudesk:groups:createGroup] - Error: ' + err); helpers.UI.showSnackbar(err, true); }) }; @@ -129,7 +129,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'uikit', 'history' UIkit.$html.trigger('changed.uk.dom'); }) .error(function(err) { - console.log('[trudesk:groups:deleteGroup] - Error: ' + err.error); + $log.log('[trudesk:groups:deleteGroup] - Error: ' + err.error); helpers.UI.showSnackbar(err.error, true); }); } @@ -161,7 +161,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'uikit', 'history' UIkit.$html.trigger('changed.uk.dom'); }) .error(function(err) { - console.log('[trudesk:groups:refreshGrid] - Error: ' + err.error); + $log.log('[trudesk:groups:refreshGrid] - Error: ' + err.error); helpers.UI.showSnackbar(err.error, true); }) diff --git a/src/public/js/angularjs/controllers/messages.js b/src/public/js/angularjs/controllers/messages.js index ffeee17d2..af35762cc 100644 --- a/src/public/js/angularjs/controllers/messages.js +++ b/src/public/js/angularjs/controllers/messages.js @@ -14,136 +14,136 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/socket', 'tomarkdown', 'uikit', 'history'], function(angular, _, $, helpers, socket, md, UIkit) { return angular.module('trudesk.controllers.messages', []) - .controller('messagesCtrl', ['openNewMessageWindow', '$scope', '$http', '$window', function(openNewMessageWindow, $scope, $http, $window) { - $scope.showNewMessage = function() { - openNewMessageWindow.openWindow(); - }; - - $scope.replyClicked = function($event) { - $event.preventDefault(); - var messageContent = $('#message-content'); - if (messageContent.length < 1) return true; - var replyToId = messageContent.find('.message-from-id').text().trim(); - var subjectText = messageContent.find('.message-header > h1').text().trim(); - subjectText = 'RE: ' + subjectText; - - if (replyToId.length < 1 || subjectText.length < 1) return true; + .controller('messagesCtrl', function($scope, $document, $http, $window, $cookies, $timeout, $log) { - openNewMessageWindow.openWindowWithOptions(replyToId, subjectText, ''); + $scope.loadConversation = function(convoId) { + History.pushState(null, null, '/messages/' + convoId ); }; - $scope.forwardClicked = function($event) { - $event.preventDefault(); - var messageContent = $('#message-content'); - if (messageContent.length < 1) return true; + $scope.sendChatMessage = function(cid, toUserId, event) { + var form = $(event.target); + if (form.length < 1) return; - var subjectText = messageContent.find('.message-header > h1').text().trim(); - subjectText = 'Fwd: ' + subjectText; - var messageText = messageContent.find('.message').html(); + var input = form.find('input[name="chatMessage"]'); - if (messageText.length < 1 || subjectText.length < 1) return true; + if (input.val().length < 1) + return false; - openNewMessageWindow.openWindowWithOptions(null, subjectText, messageText); - }; + socket.chat.sendChatMessage(cid, toUserId, input.val(), function(err) { + if (err) $log.warn(err); + input.val(''); - $scope.updateMessagesInbox = function($event) { - $event.preventDefault(); + socket.chat.stopTyping(cid, toUserId); + }); - socket.ui.sendUpdateMessageFolder(0); + event.preventDefault(); }; - $scope.deleteSelectedMessages = function($event) { - $event.preventDefault(); - - var checkMessages = getChecked(); - if (_.size(checkMessages) < 1) { - var activeMessage = $('.message-items').find('li.active'); - if (activeMessage.length > 0) { - var messageId = activeMessage.attr('data-messageid'); - checkMessages.push(messageId); - } + $scope.onKeyDown = function(cid, toUserId, $event) { + if ($event.keyCode != 13) { + socket.chat.startTyping(cid, toUserId); } - - if (_.size(checkMessages) < 1) return true; - - socket.ui.deletedMessages(checkMessages); }; - $scope.moveSelectedMessagesToTrash = function($event) { - $event.preventDefault(); - - var checkMessages = getChecked(); - var folder = $('#__folder').html(); - - if (_.size(checkMessages) < 1) { - var activeMessage = $('.message-items').find('li.active'); - if (activeMessage.length > 0) { - var messageId = activeMessage.attr('data-messageid'); - checkMessages.push(messageId); + $scope.showUserList = function($event, callback) { + if (!_.isUndefined($event)) + $event.preventDefault(); + var convoList = $document[0].getElementById('convo-list'); + convoList.style.transition = 'opacity 0.25s'; + convoList.style.opacity = 0; + + var allUserList = $document[0].getElementById('new-convo-user-list'); + allUserList.style.opacity = 0; + allUserList.classList.remove('hide'); + allUserList.style.display = 'block'; + allUserList.style.transition = 'opacity 0.25s'; + + $timeout(function() { + convoList.style.display = 'none'; + + allUserList.style.opacity = 1; + + var actions = $document[0].getElementById('convo-actions').children; + [].forEach.call(actions, function(el) { + if (el.style.display == 'none') + el.style.display = 'block'; + else + el.style.display = 'none'; + }); + + if ($('.all-user-list').getNiceScroll(0) != false) { + $('.all-user-list').getNiceScroll(0).resize(); } - } - if (_.size(checkMessages) < 1) return true; + if (_.isFunction(callback)) + return callback(); - socket.ui.moveMessageToFolder(checkMessages, 2, folder); + }, 200); }; - function getChecked() { - var checkedIds = []; - $('#messagesForm input[type="checkbox"]:checked').each(function() { - var self = $(this); - var $messageList = self.parents('li'); - if (!_.isUndefined($messageList)) { - var messageOid = $messageList.attr('data-messageid'); - - if (!_.isUndefined(messageOid) && messageOid.length > 0) { - checkedIds.push(messageOid); - } - } - }); + $scope.hideUserList = function($event) { + if (!_.isUndefined($event)) + $event.preventDefault(); + var allUserList = $document[0].getElementById('new-convo-user-list'); + allUserList.style.transition = 'opacity 0.25s'; + allUserList.style.opacity = 0; + + + var convoList = $document[0].getElementById('convo-list'); + convoList.style.transition = 'opacity 0.25s'; + convoList.style.opacity = 0; + + $timeout(function() { + allUserList.style.display = 'none'; + convoList.style.display = 'block'; + + convoList.style.opacity = 1; + + $document[0].querySelector('.search-box > input').value = ''; + $('.all-user-list li').each(function() { + $(this).show(); + }); + + var actions = $document[0].getElementById('convo-actions').children; + [].forEach.call(actions, function(el) { + if (el.style.display == 'none') + el.style.display = 'block'; + else + el.style.display = 'none'; + }); + }, 200); + }; - return checkedIds; - } - }]) - .factory('openNewMessageWindow', function() { - return { - openWindow: function openWindow() { - helpers.hideAllpDropDowns(); - var $newMessageModal = $('#newMessageModal'); - var $newMessageTo = $('#newMessageTo'); - $newMessageTo.find("option").prop('selected', false); - $newMessageTo.trigger('chosen:updated'); - $('#newMessageSubject').val(''); - $('#newMessageText').val(''); - - UIkit.modal($newMessageModal).show(); - }, - openWindowWithOptions: function openWindowWithOptions(to, subject, text) { - helpers.hideAllpDropDowns(); - var $newMessageModal = $('#newMessageModal'); - var $newMessageTo = $('#newMessageTo'); - $newMessageTo.find("option").prop('selected', false); - $newMessageTo.find("option[value='" + to + "']").prop('selected', true); - $newMessageTo.trigger('chosen:updated'); - $('#newMessageSubject').val(subject); - var $mText = md(text); - $mText = $mText.trim(); - $('#newMessageText').val($mText); - - UIkit.modal($newMessageModal).show(); - }, - closeWindow: function closeWindow() { - //Close reveal and refresh page. - var $newMessageModal = $('#newMessageModal'); - UIkit.modal($newMessageModal).hide(); - - //Clear Fields - var $newMessageTo = $('#newMessageTo'); - $newMessageTo.find("option").prop('selected', false); - $newMessageTo.trigger('chosen:updated'); - $('#newMessageSubject').val(''); - $('#newMessageText').val(''); - } + $scope.showNewConvo = $('#__showNewConvo').text(); + if ($scope.showNewConvo.length > 0) { + $scope.showUserList(undefined, function() { + return _.defer(function() { + helpers.resizeFullHeight(); + helpers.hideAllpDropDowns(); + helpers.hideDropDownScrolls(); + + helpers.resizeScroller(); + }, 500); + }); } + + $scope.startNewConversation = function(userId) { + var $loggedInAccountId = $('#__loggedInAccount__id').text(); + $http.post('/api/v1/messages/conversation/start', { + owner: $loggedInAccountId, + participants: [ + userId, + $loggedInAccountId + ] + }).then(function(response) { + var conversation = response.data.conversation; + if (!_.isUndefined(conversation)) { + History.pushState(null, null, '/messages/' + conversation._id ); + } + }, function(err) { + $log.error('[trudesk.Messages.startNewConversation()] - Error: '); + $log.error(err); + }) + }; }); }); \ No newline at end of file diff --git a/src/public/js/angularjs/controllers/notices.js b/src/public/js/angularjs/controllers/notices.js index b862ff38b..df0568771 100644 --- a/src/public/js/angularjs/controllers/notices.js +++ b/src/public/js/angularjs/controllers/notices.js @@ -14,7 +14,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/socket', 'history'], function(angular, _, $, helpers, socketClient) { return angular.module('trudesk.controllers.notices', []) - .controller('noticesCtrl', function($scope, $http) { + .controller('noticesCtrl', function($scope, $http, $log) { $scope.editNotice = function($event) { if (_.isNull($event.target) || _.isUndefined($event.target) || @@ -52,7 +52,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/socket', History.pushState(null, null, '/notices/'); }) .error(function(err) { - console.log('[trudesk:notices:submitCreateNoticeForm] - ' + err); + $log.log('[trudesk:notices:submitCreateNoticeForm] - ' + err); helpers.UI.showSnackbar(err, true); }); }; @@ -80,7 +80,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/socket', History.pushState(null, null, '/notices/'); }) .error(function(err) { - console.log('[trudesk:notices:submitEditNoticeForm] - ' + err); + $log.log('[trudesk:notices:submitEditNoticeForm] - ' + err); helpers.UI.showSnackbar(err, true); }); }; @@ -108,11 +108,11 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/socket', History.pushState(null, null, '/notices/'); }) .error(function(err) { - console.log('[trudesk:notices:activateNotice] - ' + err); + $log.log('[trudesk:notices:activateNotice] - ' + err); helpers.UI.showSnackbar(err, true); }); }) - .error(function(err) { + .error(function() { }); @@ -128,7 +128,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/socket', helpers.UI.showSnackbar('Notice has been deactivated', false); }) .error(function(err) { - console.log('[trudesk:notices:clearNotice] - ' + err); + $log.log('[trudesk:notices:clearNotice] - ' + err); helpers.UI.showSnackbar({text: 'Error: ' + err.message, actionTextColor: '#B92929'}); }); @@ -151,7 +151,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/socket', helpers.resizeDataTables('.noticesList'); helpers.UI.showSnackbar({text: 'Notice Successfully Deleted'}); }).error(function(err) { - console.log('[trudesk:notices:deleteNotices] - ' + err); + $log.log('[trudesk:notices:deleteNotices] - ' + err); helpers.UI.showSnackbar({text: 'Error: ' + err, actionTextColor: '#B92929'}); }); }); diff --git a/src/public/js/angularjs/controllers/plugins.js b/src/public/js/angularjs/controllers/plugins.js new file mode 100644 index 000000000..953498b20 --- /dev/null +++ b/src/public/js/angularjs/controllers/plugins.js @@ -0,0 +1,174 @@ +/** + . .o8 oooo + .o8 "888 `888 + .o888oo oooo d8b oooo oooo .oooo888 .ooooo. .oooo.o 888 oooo + 888 `888""8P `888 `888 d88' `888 d88' `88b d88( "8 888 .8P' + 888 888 888 888 888 888 888ooo888 `"Y88b. 888888. + 888 . 888 888 888 888 888 888 .o o. )88b 888 `88b. + "888" d888b `V88V"V8P' `Y8bod88P" `Y8bod8P' 8""888P' o888o o888o + ======================================================================== + Created: 02/10/2015 + Author: Chris Brame + + **/ + +define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/socket', 'history'], function(angular, _, $, helpers, socketClient) { + return angular.module('trudesk.controllers.plugins', []) + .controller('pluginsCtrl', function($scope, $http, $log, $timeout, $window) { + var $tableBody = $('#plugin_list_table > tbody'); + + $scope.installedPlugins = []; + + var pluginUrl = 'http://plugins.trudesk.io'; + + $scope.init = function() { + $scope.installedPlugins = angular.fromJson($scope.installedPlugins); + $http({ + method: 'GET', + url: pluginUrl + '/api/plugins', + headers: { 'Content-Type': 'apllication/json' } + }) + .success(function(data) { + if (!data.success) { + if (data.error) { + helpers.UI.showSnackbar({text: 'Error: ' + data.error, actionTextColor: '#B92929'}); + return; + } + + helpers.UI.showSnackbar({text: 'Error getting plugin list!', actionTextColor: '#B92929'}); + } + + var plugins = _.sortBy(data.plugins, 'name'); + $tableBody.children().remove(); + var html = ''; + + _.each(plugins, function(p) { + var description = 'No Description Set'; + if (p.pluginjson.description) description = p.pluginjson.description; + + var loadedPlugin = _.findWhere($scope.installedPlugins, {'name': p.name}); + var hasPluginInstalled = loadedPlugin !== undefined; + var update = false; + if (hasPluginInstalled) + update = compareVersions(loadedPlugin.version, '<', p.pluginjson.version); + + html += ''; + html += '' + p.name.toLowerCase() + ''; + html += '' + description + ''; + html += '' + p.pluginjson.version + ''; + if (hasPluginInstalled) { + html += ''; + if (update) + html += ''; + html += ''; + } + else + html += ''; + html += ''; + }); + + var $injector = angular.injector(["ng", "trudesk"]); + $injector.invoke(["$compile", "$rootScope", function ($compile, $rootScope) { + var $scope = $tableBody.append(html).scope(); + $compile($tableBody)($scope || $rootScope); + $rootScope.$digest(); + }]); + + }).error(function(err) { + if (err) { + $log.error('[trudesk:plugins:init] - ' + err.error.message); + helpers.UI.showSnackbar({text: 'Error: ' + err.error.message, actionTextColor: '#B92929'}); + } + + var html = 'Unable to load plugin list!'; + + $tableBody.children().remove(); + $tableBody.append(html); + }); + }; + + $scope.installPlugin = function(pluginId) { + $http({ + url: '/api/v1/plugins/install/' + pluginId, + method: 'GET', + headers: { 'Content-Type': 'apllication/json' } + }) + .success(function(data) { + if (!data.success) { + if (data.error) { + helpers.UI.showSnackbar({text: 'Error: ' + data.error, actionTextColor: '#B92929'}); + return; + } + + helpers.UI.showSnackbar({text: 'Error installing plugin!', actionTextColor: '#B92929'}); + } + + //Real Success + helpers.UI.showSnackbar({text: 'Installed Plugin. Restarting Server...'}); + $('#serverRestarting').removeClass('hide'); + $timeout(function() { + $window.location.reload(); + }, 5000); + + }) + .error(function(err) { + if (err) { + $log.error('[trudesk:plugins:installPlugin] - ' + err.error.message); + helpers.UI.showSnackbar({text: 'Error: ' + err.error.message, actionTextColor: '#B92929'}); + } + }); + }; + + $scope.removePlugin = function(pluginId) { + $http({ + url: '/api/v1/plugins/remove/' + pluginId, + method: 'DELETE' + }) + .success(function(data) { + if (!data.success) { + if (data.error) { + helpers.UI.showSnackbar({text: 'Error: ' + data.error, actionTextColor: '#B92929'}); + return; + } + + helpers.UI.showSnackbar({text: 'Error removing plugin!', actionTextColor: '#B92929'}); + } + + //Real Success + helpers.UI.showSnackbar({text: 'Removed Plugin. Restarting Server...'}); + $('#serverRestarting').removeClass('hide'); + $timeout(function() { + $window.location.reload(); + }, 5000); + }) + .error(function(err) { + if (err) { + $log.error('[trudesk:plugins:removePlugin] - ' + err.error.message); + helpers.UI.showSnackbar({text: 'Error: ' + err.error.message, actionTextColor: '#B92929'}); + } + }); + }; + + + function compareVersions(v1, comparator, v2) { + "use strict"; + var comparator = comparator == '=' ? '==' : comparator; + if(['==','===','<','<=','>','>=','!=','!=='].indexOf(comparator) == -1) { + throw new Error('Invalid comparator. ' + comparator); + } + var v1parts = v1.split('.'), v2parts = v2.split('.'); + var maxLen = Math.max(v1parts.length, v2parts.length); + var part1, part2; + var cmp = 0; + for(var i = 0; i < maxLen && !cmp; i++) { + part1 = parseInt(v1parts[i], 10) || 0; + part2 = parseInt(v2parts[i], 10) || 0; + if(part1 < part2) + cmp = 1; + if(part1 > part2) + cmp = -1; + } + return eval('0' + comparator + cmp); + } + }); +}); \ No newline at end of file diff --git a/src/public/js/angularjs/controllers/profile.js b/src/public/js/angularjs/controllers/profile.js index 9bbdae5ec..06ee6abdb 100644 --- a/src/public/js/angularjs/controllers/profile.js +++ b/src/public/js/angularjs/controllers/profile.js @@ -12,17 +12,37 @@ **/ -define(['angular', 'underscore', 'jquery', 'modules/helpers', 'history'], function(angular, _, $, helpers) { +define(['angular', 'underscore', 'jquery', 'modules/helpers', 'uikit', 'qrcode', 'history'], function(angular, _, $, helpers, UIKit) { return angular.module('trudesk.controllers.profile', []) - .controller('profileCtrl', function($scope, $http) { + .controller('profileCtrl', function($scope, $window, $http, $log , $timeout) { + $scope.init = function() { + //Fix Inputs if input is preloaded with a value + fixInputLabels(); + }; + + function fixInputLabels() { + $timeout(function() { + $('input.md-input').each(function() { + var vm = this; + var self = $(vm); + if (!_.isEmpty(self.val())) { + var s = self.parent('.md-input-wrapper'); + if (s.length > 0) + s.addClass('md-input-filled'); + } + }); + }, 0); + } + + $scope.updateUser = function($event) { + $event.preventDefault(); - $scope.updateUser = function() { var id = $('div[data-user_id]').attr('data-user_id'); if (_.isUndefined(id)) return; var data = getFormData(); $http.put( - '/api/v1/users/' + id, + '/api/v1/users/' + data.username, { aId: id, aFullname: data.fullname, @@ -32,16 +52,14 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'history'], functi saveGroups: false } - ).success(function(d) { + ).success(function() { resetForm(); - //helpers.showFlash('Profile Successfully Saved!'); helpers.UI.showSnackbar({ text: 'Profile Successfully Saved', textColor: '#f8f8f2' }); }).error(function(e) { - console.log('[trudesk:profile:updateUser] - ' + e.error.message); - //helpers.showFlash('Error: ' + e, true); + $log.log('[trudesk:profile:updateUser] - ' + e.error.message); helpers.UI.showSnackbar('Error ' + e.error.message, true); }); }; @@ -66,9 +84,9 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'history'], functi //helpers.showFlash('API Key Successfully Generated'); helpers.UI.showSnackbar('API Key Successfully Generated', false); }).error(function(e) { - console.log('[trudesk:profile:generateApiKey] - ' + e); + $log.log('[trudesk:profile:generateApiKey] - ' + e); //helpers.showFlash('Error: ' + e, true); - helpersUI.showSnackbar('Error: ' + e, true); + helpers.UI.showSnackbar('Error: ' + e, true); }); }; @@ -81,21 +99,118 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'history'], functi $http.post( '/api/v1/users/' + id + '/removeapikey' - ).success(function(d) { + ).success(function() { $('#aApiKey').val(''); $('.generateApiButton').removeClass('hide'); $('.removeApiButton').addClass('hide'); - //helpers.showFlash('API Key Successfully Revoked'); helpers.UI.showSnackbar('API Key Successfully Revoked', false); }).error(function(e) { - console.log('[trudesk:profile:removeApiKey] - ' + e); - //helpers.showFlash('Error: ' + e, true); + $log.log('[trudesk:profile:removeApiKey] - ' + e); helpers.UI.showSnackbar('Error: ' + e, true); }); }; + $scope.otpChange = function(event) { + var $totpSettings = $('.totp-settings-wrap'); + var $totpPanel = $totpSettings.find('.panel-body2'); + var $tOTPKey = $totpSettings.find('#tOTPKey'); + var $qrCode = $totpSettings.find('#totp-qrcode'); + event.preventDefault(); + + if ($scope.otpEnabled) { + UIKit.modal.confirm( + 'WARNING: Disabling Two Factor Authentication will remove your shared secret. A new key will generate when re-enabled.
' + + 'Are you sure you want to disable two factor authentication?' + , function() { + removeL2Auth(function(err) { + angular.element(event.target).attr('checked', false); + $totpPanel.slideUp(400, function() { + $totpPanel.css({overflow: 'hidden', margin: 0}); + $qrCode.find('canvas').remove(); + $tOTPKey.val(); + $timeout(function(){ + $scope.otpEnabled = false; + }, 0); + }); + }); + }, { + labels: {'Ok': 'Yes', 'Cancel': 'No'} + }); + } else { + generateL2Auth(function(err, key) { + if (err || angular.isUndefined(key)) { + //$window.location.reload(); + } else { + $timeout(function(){ + $scope.otpEnabled = true; + angular.element(event.target).prop('checked', true); + }, 0); + + var host = $('div[data-host]').attr('data-host'); + var username = $('#__loggedInAccount_username').text(); + var qrKey = 'otpauth://totp/' + host + '-' + username + ':' + host + '-' + username + '?secret=' + key + '&issuer=Trudesk'; + $qrCode.qrcode({width: 242, height: 242, text: qrKey}); + $tOTPKey.val(key); + $totpPanel.css({margin: '10px 7px 7px 7px'}); + $totpPanel.find('input').removeClass('hide'); + $totpPanel.removeClass('hide'); + fixInputLabels(); + $totpPanel.slideDown(); + } + }); + } + + }; + + function generateL2Auth(completed) { + var id = $('#__loggedInAccount__id').text(); + if (_.isUndefined(id)) + return helpers.UI.showSnackbar('Unable to get user ID.', true); + + $http.post( + '/api/v1/users/' + id + '/generatel2auth' + ).then(function success(response) { + if (!response.data.success) { + helpers.UI.showSnackbar('Error: Unknown error has occurred.', true); + if (_.isFunction(completed)) + return completed('Error: Unknown error has occurred.'); + } else { + //Success + if (_.isFunction(completed)) + completed(null, response.data.generatedKey); + } + }, function error(err) { + $log.error('[trudesk:profile:generateL2Auth]'); + $log.error(err); + helpers.UI.showSnackbar('Error: Could not generate new secret! Check Console', true); + if (_.isFunction(completed)) + completed(err); + }); + } + + function removeL2Auth(completed) { + var id = $('#__loggedInAccount__id').text(); + if (_.isUndefined(id)) { + return helpers.UI.showSnackbar('Unable to get user ID.', true); + } + + $http.post( + '/api/v1/users/' + id + '/removel2auth' + ).success(function() { + if (_.isFunction(completed)) + completed(); + }).error(function(e) { + $log.error('[trudesk:profile:removeL2Auth]'); + $log.error(e); + helpers.UI.showSnackbar('Error: Could not remove. Check Console', true); + if (_.isFunction(completed)) + completed(e); + }); + } + function getFormData() { var data = {}; + data.username = $('#aUsername').val(); data.fullname = $('#aFullname').val(); data.password = $('#aPass').val(); data.cPassword = $('#aPassConfirm').val(); diff --git a/src/public/js/angularjs/controllers/settings.js b/src/public/js/angularjs/controllers/settings.js index 7a9ebb6f3..d54668097 100644 --- a/src/public/js/angularjs/controllers/settings.js +++ b/src/public/js/angularjs/controllers/settings.js @@ -14,12 +14,13 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/ui', 'uikit', 'history'], function(angular, _, $, helpers, ui, UIkit) { return angular.module('trudesk.controllers.settings', ['ngSanitize']) - .controller('settingsCtrl', function($scope, $http, $sce) { + .controller('settingsCtrl', function($scope, $http, $timeout, $log) { $scope.init = function() { //Fix Inputs if input is preloaded with a value - setTimeout(function() { + $timeout(function() { $('input.md-input').each(function() { - var self = $(this); + var vm = this; + var self = $(vm); if (!_.isEmpty(self.val())) { var s = self.parent('.md-input-wrapper'); if (s.length > 0) @@ -40,7 +41,8 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/ui', 'uik }); $scope.mailerEnabledChange = function() { - $scope.mailerEnabled = this.mailerEnabled; + var vm = this; + $scope.mailerEnabled = vm.mailerEnabled; $http.put('/api/v1/settings', { name: 'mailer:enable', @@ -49,7 +51,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/ui', 'uik headers: { 'Content-Type': 'application/json' } - }).then(function successCallback(data) { + }).then(function successCallback() { }, function errorCallback(err) { helpers.UI.showSnackbar('Error: ' + err, true); @@ -57,7 +59,8 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/ui', 'uik }; $scope.mailerSSLChange = function() { - $scope.mailerSSL = this.mailerSSL; + var vm = this; + $scope.mailerSSL = vm.mailerSSL; $http.put('/api/v1/settings', { name: 'mailer:ssl', @@ -66,7 +69,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/ui', 'uik headers: { 'Content-Type': 'application/json' } - }).then(function successCallback(data) { + }).then(function successCallback() { }, function errorCallback(err) { helpers.UI.showSnackbar('Error: ' + err, true); @@ -118,7 +121,8 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/ui', 'uik }); $scope.mailerCheckEnabledChange = function() { - $scope.mailerCheckEnabled = this.mailerCheckEnabled; + var vm = this; + $scope.mailerCheckEnabled = vm.mailerCheckEnabled; $http.put('/api/v1/settings', { name: 'mailer:check:enable', @@ -127,7 +131,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/ui', 'uik headers: { 'Content-Type': 'application/json' } - }).then(function successCallback(data) { + }).then(function successCallback() { }, function errorCallback(err) { helpers.UI.showSnackbar(err, true); @@ -163,7 +167,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/ui', 'uik headers: { 'Content-Type': 'application/json' } - }).then(function successCallback(data) { + }).then(function successCallback() { helpers.UI.showSnackbar('Privacy Policy Updated', false); }, function errorCallback(err) { helpers.UI.showSnackbar(err, true); @@ -171,7 +175,8 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/ui', 'uik }; $scope.showOverdueTicketsChanged = function() { - $scope.showOverdueTickets = this.showOverdueTickets; + var vm = this; + $scope.showOverdueTickets = vm.showOverdueTickets; $http.put('/api/v1/settings', { name: 'showOverdueTickets:enable', @@ -180,7 +185,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/ui', 'uik headers: { 'Content-Type': 'application/json' } - }).then(function successCallback(data) { + }).then(function successCallback() { }, function errorCallback(err) { helpers.UI.showSnackbar(err, true); @@ -188,7 +193,8 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/ui', 'uik }; $scope.allowPublicTicketsChanged = function() { - $scope.allowPublicTickets = this.allowPublicTickets; + var vm = this; + $scope.allowPublicTickets = vm.allowPublicTickets; $http.put('/api/v1/settings', { name: 'allowPublicTickets:enable', @@ -197,7 +203,25 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/ui', 'uik headers: { 'Content-Type': 'application/json' } - }).then(function successCallback(data) { + }).then(function successCallback() { + + }, function errorCallback(err) { + helpers.UI.showSnackbar(err, true); + }); + }; + + $scope.allowUserRegistrationChanged = function() { + var vm = this; + $scope.allowUserRegistration = vm.allowUserRegistration; + + $http.put('/api/v1/settings', { + name: 'allowUserRegistration:enable', + value: $scope.allowUserRegistration + }, { + headers: { + 'Content-Type': 'application/json' + } + }).then(function successCallback() { }, function errorCallback(err) { helpers.UI.showSnackbar(err, true); @@ -234,7 +258,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/ui', 'uik headers: { 'Content-Type': 'application/json' } - }).then(function successCallback(data) { + }).then(function successCallback() { helpers.UI.showSnackbar('Tag: ' + tagName + ' updated successfully', false); }, function errorCallback(err) { @@ -271,7 +295,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/ui', 'uik return History.pushState(null, null, '/settings/tags/'); } }, function errorCallback(response) { - console.log('[trudesk:settings:deleteTag] Error - ' + response.data.error); + $log.error('[trudesk:settings:deleteTag] Error - ' + response.data.error); helpers.UI.showSnackbar('Unable to remove Tag. Check console.', true); }); diff --git a/src/public/js/angularjs/controllers/singleTicket.js b/src/public/js/angularjs/controllers/singleTicket.js index ec3fd3101..7f5ed0fee 100644 --- a/src/public/js/angularjs/controllers/singleTicket.js +++ b/src/public/js/angularjs/controllers/singleTicket.js @@ -288,9 +288,16 @@ define(['angular', 'underscore', 'jquery', 'uikit', 'modules/socket', 'modules/n return { restrict: 'A', link: function(scope, element, attr) { - $document.off('mouseup', mouseup); $document.on('mouseup', mouseup); + scope.$on('$destroy', function() { + $document.off('mouseup', mouseup); + }); + + element.on('$destroy', function() { + $document.off('mouseup', mouseup); + }) + function mouseup($event) { var target = $event.target.offsetParent; if ($(target).length > 0 && $(target).hasClass('floating-ticket-status')) return false; diff --git a/src/public/js/angularjs/controllers/tickets.js b/src/public/js/angularjs/controllers/tickets.js index 9c82a70be..47738c582 100644 --- a/src/public/js/angularjs/controllers/tickets.js +++ b/src/public/js/angularjs/controllers/tickets.js @@ -14,7 +14,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/socket', 'uikit', 'history', 'formvalidator'], function(angular, _, $, helpers, socket, UIkit) { return angular.module('trudesk.controllers.tickets', []) - .controller('ticketsCtrl', ['openFilterTicketWindow', '$scope', '$http', '$window', function(openFilterTicketWindow, $scope, $http, $window) { + .controller('ticketsCtrl', function($scope, $http, $window, $log, openFilterTicketWindow) { $scope.openFilterTicketWindow = function() { openFilterTicketWindow.openWindow(); @@ -54,7 +54,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/socket', //History.pushState(null, null, '/tickets/'); }).error(function(err) { - console.log('[trudesk:tickets:submitTicketForm] - ' + err.error.message); + $log.error('[trudesk:tickets:submitTicketForm] - ' + err.error.message); helpers.UI.showSnackbar({text: 'Error: ' + err.error.message, actionTextColor: '#B92929'}); }); } @@ -93,7 +93,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/socket', }) .error(function(err) { - console.log('[trudesk:tickets:addTag} - Error: ' + err.error); + $log.error('[trudesk:tickets:addTag} - Error: ' + err.error); helpers.UI.showSnackbar({text: 'Error: ' + err.error, actionTextColor: '#B92929'}); }); } @@ -109,7 +109,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/socket', removeCheckedFromGrid(); helpers.UI.showSnackbar({text: 'Ticket Deleted Successfully'}); }).error(function(e) { - console.log('[trudesk:tickets:deleteTickets] - ' + e); + $log.error('[trudesk:tickets:deleteTickets] - ' + e); helpers.UI.showSnackbar({text: 'Error: ' + e.error.message, actionTextColor: '#B92929'}); }); }); @@ -131,7 +131,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/socket', ).success(function() { helpers.UI.showSnackbar({text: 'Ticket status set to open'}); }).error(function(e) { - console.log('[trudesk:tickets:openTickets] - Error: ' + e); + $log.error('[trudesk:tickets:openTickets] - Error: ' + e); helpers.UI.showSnackbar({text: 'Error: ' + e, actionTextColor: '#B92929'}); }); }); @@ -149,7 +149,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/socket', ).success(function() { }).error(function(e) { - console.log('[trudesk:tickets:closeTickets] - ' + e); + $log.error('[trudesk:tickets:closeTickets] - ' + e); helpers.UI.showSnackbar({text: 'Error: ' + e, actionTextColor: '#B92929'}); }); }); @@ -170,14 +170,13 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/socket', ).success(function() { }).error(function(e) { - console.log('[trudesk:tickets:GridRefreshChanged] - ' + e); + $log.error('[trudesk:tickets:GridRefreshChanged] - ' + e); helpers.UI.showSnackbar({text: 'Error: ' + e.message, actionTextColor: '#B92929'}); }); }; $scope.RefreshTicketGrid = function(event) { var path = $window.location.pathname; - console.log(path); History.pushState(null, null, path + '?r=' + Math.random()); event.preventDefault(); }; @@ -235,7 +234,8 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/socket', function clearChecked() { $('#ticketTable input[type="checkbox"]:checked').each(function() { - var self = $(this); + var vm = this; + var self = $(vm); self.prop('checked', false); }); } @@ -243,7 +243,8 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/socket', function getChecked() { var checkedIds = []; $('#ticketTable input[type="checkbox"]:checked').each(function() { - var self = $(this); + var vm = this; + var self = $(vm); var $ticketTR = self.parents('tr'); if (!_.isUndefined($ticketTR)) { var ticketOid = $ticketTR.attr('data-ticketOid'); @@ -259,7 +260,8 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/socket', function removeCheckedFromGrid() { $('#ticketTable input[type="checkbox"]:checked').each(function() { - var self = $(this); + var vm = this; + var self = $(vm); var $ticketTR = self.parents('tr'); if (!_.isUndefined($ticketTR)) { $ticketTR.remove(); @@ -267,7 +269,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/socket', }); } - }]) + }) .factory('openFilterTicketWindow', function() { return { openWindow: function openWindow() { diff --git a/src/public/js/angularjs/main.js b/src/public/js/angularjs/main.js index 682ba11a9..5bed4fe63 100644 --- a/src/public/js/angularjs/main.js +++ b/src/public/js/angularjs/main.js @@ -12,10 +12,12 @@ **/ -define(['angular', 'angularjs/controllers', 'angularRoute', 'angularCookies', 'angularSanitize'], function(angular) { - return angular.module('trudesk', ['ngRoute', 'ngCookies', 'ngSanitize', 'trudesk.controllers']) - .config(function($interpolateProvider) { - $interpolateProvider.startSymbol('{[{'); - $interpolateProvider.endSymbol('}]}'); - }); -}); \ No newline at end of file +// require.ensure([], function(require) { + define(['angular', 'angularjs/controllers', 'angularRoute', 'angularCookies', 'angularSanitize'], function(angular) { + return angular.module('trudesk', ['ngRoute', 'ngCookies', 'ngSanitize', 'trudesk.controllers']) + .config(function($interpolateProvider) { + $interpolateProvider.startSymbol('{[{'); + $interpolateProvider.endSymbol('}]}'); + }); + }); +// }); diff --git a/src/public/js/app.js b/src/public/js/app.js index e07fd54ea..15223b56f 100644 --- a/src/public/js/app.js +++ b/src/public/js/app.js @@ -15,7 +15,7 @@ //http://code.angularjs.org/1.2.1/docs/guide/bootstrap#overview_deferred-bootstrap //window.name = "NG_DEFER_BOOTSTRAP!"; -require(['config', 'jquery', 'modules/helpers', 'angular', 'angularjs/main'], function(config, $, helpers, angular) { +require(['jquery', 'modules/helpers', 'angular', 'angularjs/main'], function($, helpers, angular) { helpers.init(); angular.element(document).ready(function() { @@ -29,43 +29,33 @@ require(['config', 'jquery', 'modules/helpers', 'angular', 'angularjs/main'], fu }); require([ + 'underscore', 'modules/navigation', 'modules/enjoyhint', - //'foundation', 'uikit', 'modules/socket', 'modules/ajaxify', 'modernizr', 'fastclick', 'placeholder', - //'foundation', 'pace', 'nicescroll', 'easypiechart' - ], function(nav, eh, UI) { - //Start App - //$(document).foundation({ - // abide: { - // patterns: { - // is5Long: /.{5,}/ - // } - // }, - // reveal: { - // animation: 'fade', - // animation_speed: 200, - // close_on_background_click: true, - // close_on_esc: true - // } - //}); + ], function(_, nav, eh) { + //Page loading (init) + require(['pages/pageloader'], function(pl) { pl.init(); }); nav.init(); - setTimeout(function(){ + var $event = _.debounce(function() { helpers.hideLoader(1000); helpers.countUpMe(); helpers.UI.cardShow(); - }, 2000); - //eh.init(); + + $.event.trigger('$trudesk:ready'); + }, 100); + + $event(); }); }); diff --git a/src/public/js/calendar.js b/src/public/js/calendar.js deleted file mode 100644 index dec332145..000000000 --- a/src/public/js/calendar.js +++ /dev/null @@ -1,19 +0,0 @@ -$j = jQuery.noConflict(); - -$j(document).ready(function() { - $j("#calendar").fullCalendar({ - aspectRatio: 1.48, - events: [ - { - title: 'Ticket #1234 - Planning', - start: '2014-09-13' - }, - { - title: 'Ticket #1236 - Administration', - start: '2014-09-15', - end: '2014-09-17', - allDay: true - } - ] - }); -}); \ No newline at end of file diff --git a/src/public/js/config.js b/src/public/js/config.js deleted file mode 100644 index 0c9f928c5..000000000 --- a/src/public/js/config.js +++ /dev/null @@ -1,217 +0,0 @@ -/** - . .o8 oooo - .o8 "888 `888 - .o888oo oooo d8b oooo oooo .oooo888 .ooooo. .oooo.o 888 oooo - 888 `888""8P `888 `888 d88' `888 d88' `88b d88( "8 888 .8P' - 888 888 888 888 888 888 888ooo888 `"Y88b. 888888. - 888 . 888 888 888 888 888 888 .o o. )88b 888 `88b. - "888" d888b `V88V"V8P' `Y8bod88P" `Y8bod8P' 8""888P' o888o o888o - ======================================================================== - Created: 02/10/2015 - Author: Chris Brame - - **/ - -requirejs.config({ - baseUrl: "/js/", - paths: { - //Always Load - jquery: 'vendor/jquery/jquery', - jquery_scrollTo:'vendor/jquery/jquery.scrollTo.min', - angular: 'https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.min', - angularRoute: 'https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular-route', - angularCookies: 'https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular-cookies', - angularSanitize:'https://cdnjs.cloudflare.com/ajax/libs/angular-sanitize/1.4.7/angular-sanitize', - uikit: 'vendor/uikit/js/uikit_combined.min', - modernizr: 'vendor/modernizr/modernizr', - fastclick: 'vendor/fastclick/fastclick', - placeholder: 'vendor/placeholder/placeholder', - nicescroll: 'vendor/nicescroll/nicescroll.min', - underscore: 'vendor/underscore/underscore', - history: 'vendor/history/jquery.history', - app: 'app', - - async: 'vendor/async/async', - jquery_custom: 'plugins/jquery.custom', - datatables: 'vendor/datatables/jquery.dataTables', - dt_responsive: 'vendor/datatables/dataTables.responsive', - dt_grouping: 'vendor/datatables/dataTables.grouping', - dt_scroller: 'vendor/datatables/dataTables.scroller', - flot: 'vendor/flot/jquery.flot', - flot_symbol: 'vendor/flot/jquery.flot.symbol', - flot_time: 'vendor/flot/jquery.flot.time', - flot_tooltip: 'vendor/flot/jquery.flot.tooltip', - //fullcalendar: 'vendor/fullcalendar/fullcalendar.min', - moment: 'vendor/moment/moment', - easypiechart: 'vendor/easypiechart/easypiechart', - chosen: 'vendor/chosen/chosen.jquery.min', - autogrow: 'plugins/autogrow', - pace: 'vendor/pace/pace.min', - tomarkdown: 'vendor/tomarkdown/tomarkdown', - enjoyhint: 'vendor/enjoyhint/enjoyhint.min', - colorpicker: 'vendor/simplecolorpicker/jquery.simplecolorpicker', - datepicker: 'vendor/datepicker/foundation-datepicker', - d3: 'vendor/d3/d3.min', - c3: 'vendor/c3/c3', - metricsgraphics:'vendor/metricsgraphics/metricsgraphics.min', - d3pie: 'vendor/d3pie/d3pie.min', - peity: 'vendor/peity/jquery.peity.min', - countup: 'vendor/countup/countUp.min', - velocity: 'vendor/velocity/velocity.min', - selectize: 'vendor/selectize/selectize', - waves: 'vendor/waves/waves', - isinview: 'plugins/jquery.isinview', - jquery_docsize: 'plugins/jquery.documentsize', - formvalidator: 'vendor/formvalidator/jquery.form-validator', - snackbar: 'plugins/snackbar' - }, - config: { - "uikit": { - base: "js/vendor/uikit/js" - } - }, - shim: { - isinview: { - deps: ['jquery', 'jquery_docsize'] - }, - - angular: { - exports: 'angular' - }, - - angularRoute: { - deps: ['angular'] - }, - - angularCookies: { - deps: ['angular'] - }, - - angularSanitize: { - deps: ['angular'] - }, - - uikit: { - deps: ['jquery', 'moment'] - }, - - jquery_custom: { - deps: ['jquery'] - }, - - formvalidator: { - deps: ['jquery'] - }, - - datatables: { - deps: ['jquery'] - }, - - dt_responsive: { - deps: ['jquery', 'datatables'] - }, - - dt_scroller: { - deps: ['jquery', 'datatables'] - }, - - dt_grouping: { - deps: ['jquery', 'datatables'] - }, - - nicescroll: { - deps: ['jquery'] - }, - - flot_time: { - deps: ['jquery', 'flot'] - }, - - flot_symbol: { - deps: ['jquery', 'flot'] - }, - - flot_tooltip: { - deps: ['jquery', 'flot'] - }, - - easypiechart: { - deps: ['jquery'] - }, - - autogrow: { - deps: ['jquery'] - }, - - pace: { - deps: ['jquery'] - }, - - chosen: { - deps: ['jquery'] - }, - - history: { - deps: ['jquery'] - }, - - enjoyhint: { - deps: ['jquery', 'jquery_scrollTo'] - }, - - colorpicker: { - deps: ['jquery'] - }, - - datepicker: { - deps: ['jquery'] - }, - - d3: { - deps: [] - }, - - c3: { - deps: ['d3', 'jquery'] - }, - - metricsgraphics: { - deps: ['d3', 'jquery'] - }, - - d3pie: { - deps: ['d3', 'jquery'] - }, - - peity: { - deps: ['jquery'] - }, - - countup: { - deps: ['jquery'] - }, - - selectize: { - deps: ['jquery'] - }, - - waves: { - deps: ['jquery'] - }, - - waypoints: { - deps: ['jquery'] - }, - - inview: { - deps: ['jquery', 'waypoints'] - }, - - snackbar: { - deps: ['jquery'] - } - }, - priority: [ - "angular" - ] -}); \ No newline at end of file diff --git a/src/public/js/modules/ajaxify.js b/src/public/js/modules/ajaxify.js index 29c3cc91f..eecd66ab1 100644 --- a/src/public/js/modules/ajaxify.js +++ b/src/public/js/modules/ajaxify.js @@ -14,31 +14,15 @@ define('modules/ajaxify', [ 'jquery', + 'underscore', 'angular', 'modules/helpers', 'modules/navigation', - 'pages/dashboard', - 'pages/messages', - 'pages/tickets', - 'pages/accounts', - 'pages/groups', - 'modules/ajaximgupload', - 'modules/attachmentUpload', - 'pages/editaccount', - 'pages/singleTicket', - 'pages/reports', - 'pages/reportsBreakdown', - 'pages/notices', - 'pages/createNotice', - 'pages/settings', - 'pages/logs', - 'pages/tags', + 'pages/pageloader', 'modules/socket', 'history' -], function($, angular, helpers, nav, dashboardPage, messagesPage, ticketsPage, accountsPage, groupsPage, - ajaxImgUpload, attachmentUpload, editAccountPage, singleTicketPage, reportsPage, reportsBreakdownPage, - noticesPage, createNoticePage, settingsPage, logsPage, tagsPage, socketClient) { +], function($, _, angular, helpers, nav, pageLoader, socketClient) { $(window).on('statechangecomplete', function() { //Global @@ -48,49 +32,29 @@ define('modules/ajaxify', [ }); socketClient.ui.init(socketClient.socket); + socketClient.chat.getOpenWindows(); + socketClient.chat.updateOnlineBubbles(); helpers.init(); helpers.hideAllUiKitDropdowns(); - ajaxImgUpload.init(); - attachmentUpload.init(); nav.init(); - //Dashbaord - dashboardPage.init(); - - //Messages - messagesPage.stopRefresh(); - messagesPage.init(); - - //Tickets - ticketsPage.init(); - singleTicketPage.init(); - - //Accounts - accountsPage.init(); - editAccountPage.init(); - - //Groups - groupsPage.init(); - - //Reports - reportsPage.init(); - reportsBreakdownPage.init(); - - //Notices - noticesPage.init(); - createNoticePage.init(); - - //Settings - settingsPage.init(); - tagsPage.init(); - logsPage.init(); + //Page Loader + pageLoader.init(); //Load UI Animations Load helpers.UI.cardShow(); helpers.countUpMe(); + + var event = _.debounce(function() { + $.event.trigger('$trudesk:ready'); + }, 100); + + event(); }); + + // Prepare our Variables var History = window.History, @@ -109,10 +73,10 @@ define('modules/ajaxify', [ contentSelector = '.wrapper > .ajaxyContent:first', $content = $(contentSelector).filter(':first'), contentNode = $content.get(0), - $menu = $('.sidebar > .side-nav').filter(':first'), - activeClass = 'active', - activeSelector = '.active', - menuChildrenSelector = '> li,> ul > li,> li > ul > li', + //$menu = $('.sidebar > .side-nav').filter(':first'), + //activeClass = 'active', + //activeSelector = '.active', + //menuChildrenSelector = '> li,> ul > li,> li > ul > li', completedEventName = 'statechangecomplete', /* Application Generic Variables */ $window = $(window), @@ -162,7 +126,7 @@ define('modules/ajaxify', [ var $this = $(this); // Ajaxify - $this.find('a:internal:not(.no-ajaxy)').click(function(event){ + $this.find('a:internal:not(.no-ajaxy):not(.ajaxify-bound)').addClass('ajaxify-bound').on('click', function(event){ // Prepare var $this = $(this), @@ -199,9 +163,10 @@ define('modules/ajaxify', [ // Start Fade Out // Animating to opacity to 0 still keeps the element's height intact // Which prevents that annoying pop bang issue when loading in new content - //$content.animate({opacity:0},800); + //$content.animate({opacity:0},100); // Ajax Request the Traditional Page + $.ajax({ url: url, success: function(data, textStatus, jqXHR){ @@ -210,7 +175,7 @@ define('modules/ajaxify', [ $data = $(documentHtml(data)), $dataBody = $data.find('.document-body:first'), $dataContent = $dataBody.find(contentSelector).filter(':first'), - $menuChildren, contentHtml, $scripts; + contentHtml, $scripts; // Fetch the scripts $scripts = $dataContent.find('.document-script'); @@ -226,61 +191,70 @@ define('modules/ajaxify', [ } // Update the menu -- Custom to close submenu and add classes - $menuChildren = $menu.find(menuChildrenSelector); - $menuChildren.filter(activeSelector).removeClass(activeClass); - $menuChildren = $menuChildren.has( - 'a[href^="'+relativeUrl+'"],' + - 'a[href^="/'+relativeUrl+'"],' + - 'a[href^="'+url+'"]' + - 'a[data-url^="'+relativeUrl+'"]' - - ); + // This is not needed because I am settin the menu active on the node.js route (Controller) + // $menuChildren = $menu.find(menuChildrenSelector); + // $menuChildren.filter(activeSelector).removeClass(activeClass); + // $menuChildren = $menuChildren.has( + // 'a[href^="'+relativeUrl+'"],' + + // 'a[href^="/'+relativeUrl+'"],' + + // 'a[href^="'+url+'"]' + + // 'a[data-url^="'+relativeUrl+'"]' + // + // ); // if ( $menuChildren.length === 1 ) { $menuChildren.addClass(activeClass); } + // This fixes showing the overflow on scrollers when removing them before page load + $('#page-content').animate({opacity:0}, 0, function() { + helpers.removeAllScrollers(); + //Memory Leak Fix- Remove events before destroying content; + var $oldContent = $('#page-content'); + $oldContent.find('*').off('click click.chosen mouseup mousemove mousedown change'); - // Update the content - $content.stop(true,true); - $content.html(contentHtml).ajaxify().css('opacity',100).show(); /* you could fade in here if you'd like */ + // Update the content + $content.stop(true,true); + $oldContent.find('*').remove(); + $oldContent = null; - // Update the title - document.title = $data.find('.document-title:first').text(); - try { - document.getElementsByTagName('title')[0].innerHTML = document.title.replace('<','<').replace('>','>').replace(' & ',' & '); - } - catch ( Exception ) { } - - // Add the scripts - $scripts.each(function(){ - var $script = $(this), scriptText = $script.text(), scriptNode = document.createElement('script'); - if ( $script.attr('src') ) { - if ( !$script[0].async ) { scriptNode.async = false; } - scriptNode.src = $script.attr('src'); + $content.html(contentHtml).ajaxify().css('opacity',1).show(); /* you could fade in here if you'd like */ + + // Update the title + document.title = $data.find('.document-title:first').text(); + try { + document.getElementsByTagName('title')[0].innerHTML = document.title.replace('<','<').replace('>','>').replace(' & ',' & '); + } + catch ( Exception ) { } + + // Add the scripts + $scripts.each(function(){ + var $script = $(this), scriptText = $script.text(), scriptNode = document.createElement('script'); + if ( $script.attr('src') ) { + if ( !$script[0].async ) { scriptNode.async = false; } + scriptNode.src = $script.attr('src'); + } + scriptNode.appendChild(document.createTextNode(scriptText)); + contentNode.appendChild(scriptNode); + }); + + //helpers.removeAllScrollers(); + + // Complete the change + if ( $body.ScrollTo||false ) { $body.ScrollTo(scrollOptions); } /* http://balupton.com/projects/jquery-scrollto */ + $body.removeClass('loading'); + $window.trigger(completedEventName); + + // Inform Google Analytics of the change + if ( typeof window._gaq !== 'undefined' ) { + window._gaq.push(['_trackPageview', relativeUrl]); } - scriptNode.appendChild(document.createTextNode(scriptText)); - contentNode.appendChild(scriptNode); }); - // Complete the change - if ( $body.ScrollTo||false ) { $body.ScrollTo(scrollOptions); } /* http://balupton.com/projects/jquery-scrollto */ - $body.removeClass('loading'); - $window.trigger(completedEventName); - - // Inform Google Analytics of the change - if ( typeof window._gaq !== 'undefined' ) { - window._gaq.push(['_trackPageview', relativeUrl]); - } - - // Inform ReInvigorate of a state change - if ( typeof window.reinvigorate !== 'undefined' && typeof window.reinvigorate.ajax_track !== 'undefined' ) { - reinvigorate.ajax_track(url); - // ^ we use the full url here as that is what reinvigorate supports - } }, error: function(jqXHR, textStatus, errorThrown){ document.location.href = url; console.log('[trudesk:ajaxify:Load] - Error Loading Document!!!'); + console.error(errorThrown); return false; } }); // end ajax diff --git a/src/public/js/modules/chat.js b/src/public/js/modules/chat.js index 6e202de4a..2f385defd 100644 --- a/src/public/js/modules/chat.js +++ b/src/public/js/modules/chat.js @@ -15,10 +15,13 @@ define('modules/chat',[ 'jquery', 'underscore', + 'moment', 'modules/helpers', - 'autogrow' + 'uikit', + 'autogrow', + 'history' -], function($, _, helpers) { +], function($, _, moment, helpers, UIKit) { var chatClient = {}, socket; @@ -26,7 +29,7 @@ define('modules/chat',[ socket = sock; socket.removeAllListeners('connect'); - socket.on('connect', function(data) { + socket.on('connect', function() { socket.emit('joinChatServer'); }); @@ -35,35 +38,61 @@ define('modules/chat',[ }); + //TODO: This is called often. Even on 5sec loop. This needs to be optimized. JANK! + // This should not be on loop. Maybe have the UI update based on Connect/Disconnect socket.removeAllListeners('updateUsers'); socket.on('updateUsers', function(data) { var html = ''; - var onlineList = $('#online-Users-List').find('> ul'); + var onlineList = $('.online-list-wrapper').find('ul.online-list'); + var username = $('#__loggedInAccount_username').text(); + var filteredData = _.filter(data, function(item) { return item.user.username !== username; }); + var activeNow = $('.active-now'); + if (_.size(filteredData) < 1) { + activeNow.hide(); + } else { + activeNow.show(); + } onlineList.html(''); - var username = $('.profile-name[data-username]').attr('data-username'); - _.each(data, function(v, k) { + _.each(filteredData, function(v,k) { var onlineUser = v.user; if (onlineUser.username === username) return true; var imageUrl = onlineUser.image; if (_.isUndefined(imageUrl)) imageUrl = 'defaultProfile.jpg'; html += '
  • '; - html += ''; - html += '
    '; - html += '
    profile
    '; - html += '
    ' + onlineUser.fullname + '
    '; - html += '
    '; - if (onlineUser.title) - html += '' + onlineUser.title + ''; - html += '
    '; - html += '
    '; + html += '
    '; + html += '
    '; + html += '
    '; + html += '
    '; + html += '
    ' + onlineUser.fullname + '
    '; html += '
    '; html += '
    '; html += '
  • '; + + var allUserList = $('ul.user-list'); + var userStatus = allUserList.find('li[data-user-id="' + onlineUser._id + '"]').find('.online-status-offline'); + userStatus.removeClass('online-status-offline').addClass('online-status'); + userStatus.text(''); }); onlineList.append(html); + + var onlineUserCount = $('.online-user-count'); + if (onlineUserCount.length > 0) { + var size = _.size(filteredData); + if (size < 1) onlineUserCount.addClass('hide'); + else { + onlineUserCount.text(size); + onlineUserCount.removeClass('hide'); + } + } + chatClient.bindActions(); + + }); + + socket.removeAllListeners('$trudesk:chat:udateOnlineBubbles'); + socket.on('$trudesk:chat:updateOnlineBubbles', function(data) { var $u = _.throttle(function() { UpdateOnlineBubbles(data); }, 1500, {trailing: false}); @@ -73,7 +102,21 @@ define('modules/chat',[ socket.removeAllListeners('spawnChatWindow'); socket.on('spawnChatWindow', function(data) { - chatClient.openChatWindow(data); + var messageContent = $('#message-content[data-conversation-id]'); + if (messageContent.length > 0) { + var loggedInAccountId = $('#__loggedInAccount__id').text(); + startConversation(loggedInAccountId, data._id, function(err, convo) { + if (err) { + console.log('[trudesk:chat:openChatWindow] - Error'); + console.log(err); + return helpers.UI.showSnackbar('Unable to start chat', true); + } else { + History.pushState(null, null, '/messages/' + convo._id, true); + } + }); + } else { + chatClient.openChatWindow(data); + } }); socket.removeAllListeners('chatMessage'); @@ -88,118 +131,394 @@ define('modules/chat',[ selector = ''; if (type === 's') { - chatBox = $('.chat-box[data-chat-userId="' + to + '"]'); + chatBox = $('.chat-box[data-chat-userid="' + to + '"]'); chatMessage = createChatMessageDiv(data.message); chatMessageList = chatBox.find('.chat-message-list:first'); scroller = chatBox.find('.chat-box-messages'); chatMessageList.append(chatMessage); helpers.scrollToBottom(scroller); } else if (type === 'r') { - selector = '.chat-box[data-chat-userId="' + from + '"]'; + selector = '.chat-box[data-chat-userid="' + from + '"]'; chatBox = $(selector); if (chatBox.length < 1) { - chatClient.openChatWindow(data.fromUser); - chatBox = $(selector); + chatClient.openChatWindow(data.fromUser, function() { + chatBox = $(selector); + scroller = chatBox.find('.chat-box-messages'); + helpers.scrollToBottom(scroller); + }); + } else { + chatMessage = createChatMessageFromUser(data.fromUser, data.message); + chatMessageList = chatBox.find('.chat-message-list:first'); + chatMessageList.append(chatMessage); + scroller = chatBox.find('.chat-box-messages'); + helpers.scrollToBottom(scroller); } + } - chatMessage = createChatMessageFromUser(data.fromUser, data.message); - chatMessageList = chatBox.find('.chat-message-list:first'); - chatMessageList.append(chatMessage); + $.event.trigger('$trudesk:chat:message', data); - scroller = chatBox.find('.chat-box-messages'); + //Ajaxify Any ticket links + $('body').ajaxify(); + }); + + socket.removeAllListeners('chatTyping'); + socket.on('chatTyping', function(data) { + $.event.trigger('$trudesk:chat:typing', data); + var chatBox = $('div[data-conversation-id="' + data.cid + '"]'); + var isTypingDiv = chatBox.find('.user-is-typing-wrapper'); + isTypingDiv.removeClass('hide'); + var scroller = chatBox.find('.chat-box-messages'); + if (scroller != undefined) helpers.scrollToBottom(scroller); + + scroller = $('#message-content'); + if (scroller != undefined) { + // Only scroll if the scroller is on bottom + var ns = scroller.getNiceScroll(0); + if (ns && ns.getScrollTop() == ns.page.maxh) + helpers.scrollToBottom(scroller); + } + }); + + socket.removeAllListeners('chatStopTyping'); + socket.on('chatStopTyping', function(data) { + $.event.trigger('$trudesk:chat:stoptyping', data); + }); + + socket.removeAllListeners('leftChatServer'); + socket.on('leftChatServer', function(data) { + $.event.trigger('$trudesk:chat:leftchatserver', data); + }); + + $(window).on('$trudesk:chat:stoptyping.chatSystem', function(event, data) { + var chatBox = []; + var scroller = undefined; + chatBox[0] = $('#message-content[data-conversation-id="' + data.cid + '"]'); + chatBox[1] = $('.chat-box[data-conversation-id="' + data.cid + '"]'); + for (var i = 0; i < chatBox.length; i++) { + chatBox[i].find('.user-is-typing-wrapper').addClass('hide'); + scroller = chatBox[i].find('.chat-box-messages'); + if (scroller != undefined) + helpers.scrollToBottom(scroller); + } + + scroller = $('#message-content'); + if (scroller != undefined) { + // Only scroll if the scroller is on bottom + var ns = scroller.getNiceScroll(0); + if (ns && ns.getScrollTop() == ns.page.maxh) + helpers.scrollToBottom(scroller); } }); }; + var typingTimeout = {}; + var isTyping = {}; + function stopTyping(cid, to) { + isTyping[cid] = false; + typingTimeout[cid] = undefined; + var loggedInAccountId = $('#__loggedInAccount__id').text(); + socket.emit('chatStopTyping', { + cid: cid, + to: to, + from: loggedInAccountId + }); + } + + chatClient.stopTyping = function(cid, to, complete) { + stopTyping(cid, to); + + if (_.isFunction(complete)) + return complete(); + }; + + chatClient.startTyping = function(cid, userid, complete) { + if (isTyping[cid]) { + clearTimeout(typingTimeout[cid]); + typingTimeout[cid] = setTimeout(stopTyping, 5000, cid, userid); + return; + } + + socket.emit('chatTyping', { + cid: cid, + to: userid, + from: $('#__loggedInAccount__id').text() + }); + + isTyping[cid] = true; + if (typingTimeout[cid] == undefined) + typingTimeout[cid] = setTimeout(stopTyping, 5000, cid, userid); + + if (_.isFunction(complete)) + return complete(); + }; + chatClient.bindActions = function() { $(document).ready(function() { $('*[data-action="startChat"]').each(function() { var self = $(this); self.off('click'); self.click(function(e) { - var user = self.attr('data-chatUser'); - socket.emit('spawnChatWindow', user); + var userId = self.attr('data-chatUser'); + socket.emit('spawnChatWindow', userId); + UIKit.offcanvas.hide(); e.preventDefault(); }); }); + }); + }; + function bindChatWindowActions(convoId) { + var $chatBox = $('.chat-box[data-conversation-id="' + convoId + '"]'); + if ($chatBox.length < 1) + return false; + + var $textarea = $chatBox.find('textarea.textAreaAutogrow'); + var $chatBoxText = $chatBox.find('.chat-box-text'); + var $chatCloseButton = $chatBox.find('.chatCloseBtn'); + var $chatTitleBar = $chatBox.find('.chat-box-title'); + + $textarea.off('keyup'); + $textarea.off('keydown'); + $textarea.on('keydown', function(e) { + if (e.keyCode == 13) + return; + + var self = $(this); + var cid = self.parent().parent().attr('data-conversation-id'); + var user = self.parent().parent().attr('data-chat-userid'); + + if (cid == undefined || user == undefined) { + console.log('Invalid Conversation ID or User ID'); + return false; + } + + chatClient.startTyping(cid, user, function() { - $('textarea.textAreaAutogrow').off('keydown'); - $('textarea.textAreaAutogrow').autogrow({ - postGrowCallback: chatBoxTextAreaGrowCallback, - enterPressed: function(self, v) { - var messages = self.parent().siblings('.chat-box-messages'); - //var messageDiv = createChatMessageDiv(v); - //messages.children('.chat-message-list').append(messageDiv); - helpers.scrollToBottom(messages); - //messages.getNiceScroll(0).resize().doScrollTop(messages.height(), 100); - if (v.length < 1) return; - socket.emit('chatMessage', - { - to: self.parents('.chat-box').attr('data-chat-userId'), - from: $('.profile-name[data-userId]').attr('data-userId'), - type: 's', - message: v - }); - } }); + }); + $textarea.autogrow({ + postGrowCallback: chatBoxTextAreaGrowCallback, + enterPressed: function(self, v) { + var messages = self.parent().siblings('.chat-box-messages'); + var cid = self.parent().parent().attr('data-conversation-id'); + var userId = self.parents('.chat-box').attr('data-chat-userid'); + helpers.scrollToBottom(messages); + if (v.length < 1) return; + + //Send Message + chatClient.sendChatMessage(cid, userId, v, function(err) { + clearTimeout(typingTimeout[cid]); + stopTyping(cid, userId); + }); + } + }); - $('.chat-box-text').off('click'); - $('.chat-box-text').click(function(e) { - if ($(this).children('textarea').is(":focus")) { - e.stopPropagation(); - return false; - } + $chatBoxText.off('click'); + $chatBoxText.click(function(e) { + if ($(this).children('textarea').is(":focus")) { + e.stopPropagation(); + return false; + } - $(this).children('textarea').focus(); - var val = $(this).children('textarea').val(); - $(this).children('textarea').val('').val(val); - }); + $(this).children('textarea').focus(); + var val = $(this).children('textarea').val(); + $(this).children('textarea').val('').val(val); + }); - $('.chatCloseBtn').off('click'); - $('.chatCloseBtn').click(function() { - $(this).parents('.chat-box[data-chat-userId]').remove(); - }); + $chatCloseButton.off('click'); + $chatCloseButton.click(function(e) { + e.preventDefault(); + $(this).parents('.chat-box[data-chat-userid]').parent().remove(); - $('.chat-box-title').off('click'); - $('.chat-box-title').click(function() { - var p = $(this).parents('.chat-box-position'); - if (p.css('top') === '-280px') { - p.animate({ - top: -29 - }, 250); - } else { - p.animate({ - top: -280 - }, 250); + var $loggedInAccountId = $('#__loggedInAccount__id').text(); + var cid = $chatCloseButton.parents('.chat-box[data-conversation-id]').attr('data-conversation-id'); + socket.emit('saveChatWindow', {userId: $loggedInAccountId, convoId: cid, remove: true}); + }); + + $chatTitleBar.off('click'); + $chatTitleBar.click(function() { + var p = $(this).parents('.chat-box-position'); + if (p.css('top') === '-280px') { + p.animate({ + top: -29 + }, 250); + } else { + p.animate({ + top: -280 + }, 250); + } + }); + } + + //Make this return messages with single HTTP request + function startConversation(owner, receiver, callback) { + if (owner === receiver) { + return callback('Invalid Participants'); + } else { + $.ajax({ + url: '/api/v1/messages/conversation/start', + type: 'POST', + contentType: 'application/json', + dataType: 'json', + data: JSON.stringify({ + owner: owner, + participants: [ + owner, + receiver + ] + }), + success: function(data) { + $.ajax({ + url: '/api/v1/messages/conversation/' + data.conversation._id, + type: 'GET', + success: function(d) { + var userMeta = data.conversation.userMeta[_.findIndex(data.conversation.userMeta, function(item) { return item.userId.toString() == owner.toString()})]; + if (userMeta && userMeta.deletedAt) { + d.messages = _.filter(d.messages, function(message) { + return moment(message.createdAt) > moment(userMeta.deletedAt); + }); + } + data.conversation.messages = d.messages; + return callback(null, data.conversation) + }, + error: function(err) { + return callback(err); + } + }); + }, + error: function(err) { + return callback(err); } }); + } + } + + function loadChatMessages(chatBox, messageArray, callback) { + var to = chatBox.attr('data-chat-userid'), + chatMessage, + chatMessageList, + scroller; + + messageArray = messageArray.reverse(); + + _.each(messageArray, function(m) { + if (m.owner._id == to) { + chatMessage = createChatMessageFromUser(m.owner, m.body); + chatMessageList = chatBox.find('.chat-message-list:first'); + chatMessageList.append(chatMessage); + scroller = chatBox.find('.chat-box-messages'); + helpers.scrollToBottom(scroller); + } else { + chatMessage = createChatMessageDiv(m.body); + chatMessageList = chatBox.find('.chat-message-list:first'); + scroller = chatBox.find('.chat-box-messages'); + chatMessageList.append(chatMessage); + helpers.scrollToBottom(scroller); + } + }); + + //Ajaxify Any ticket links + $('body').ajaxify(); + } + + chatClient.sendChatMessage = function(cid, toUserId, message, complete) { + var loggedInAccountId = $('#__loggedInAccount__id').text(); + $.ajax({ + url: '/api/v1/messages/send', + type: 'POST', + contentType: 'application/json', + data: JSON.stringify({ + cId: cid, + owner: loggedInAccountId, + body: message + }), + success: function(data) { + + socket.emit('chatMessage', + { + conversation: cid, + to: toUserId, + from: loggedInAccountId, + type: 's', + messageId: data.message._id, + message: data.message.body + }); + + if (complete != undefined && _.isFunction(complete)) + return complete(); + }, + error: function(error) { + console.log('[trudesk:chat:bindActions] Error'); + console.log(error); + helpers.UI.showSnackbar(error, true); + + if (complete != undefined && _.isFunction(complete)) + return complete(error); + } }); }; - chatClient.openChatWindow = function(user) { - var username = $('.profile-name[data-username]').attr('data-username'); - if (user.username === username) return true; + chatClient.getOpenWindows = function() { + socket.emit('getOpenChatWindows'); + }; + + chatClient.updateOnlineBubbles = function() { + socket.emit('$trudesk:chat:updateOnlineBubbles'); + }; - var cWindow = $('.chat-box-position').find('.chat-box[data-chat-userId="' + user._id + '"]'); - if (cWindow.length > 0) { - cWindow.find('textarea').focus(); + chatClient.openChatWindow = function(user, complete) { + var isOnMessagesPage = ($('#__page').text().toLowerCase() === 'messages'); + if (isOnMessagesPage) { + if (_.isFunction(complete)) + return complete(); return true; } + var loggedInAccountId = $('#__loggedInAccount__id').text(); + if (_.isUndefined(loggedInAccountId)) { + return helpers.UI.showSnackbar('Unable to start chat', true); + } - var html = '
    '; - html += '
    '; + startConversation(loggedInAccountId, user._id, function(err, convo) { + if (err) { + console.log('[trudesk:chat:openChatWindow] - Error'); + console.log(err); + return helpers.UI.showSnackbar('Unable to start chat', true); + } + + var username = $('#__loggedInAccount_username').text(); + if (user.username === username) return true; + + var cWindow = $('.chat-box-position').find('.chat-box[data-chat-userid="' + user._id + '"]'); + if (cWindow.length > 0) { + //loadChatMessages($('.chat-box-position').find('.chat-box[data-chat-userid="' + user._id + '"]'), convo.messages); + cWindow.find('textarea').focus(); + helpers.scrollToBottom(cWindow.find('.chat-box-messages')); + return true; + } + + var imageUrl = user.image; + if (_.isUndefined(imageUrl)) imageUrl = 'defaultProfile.jpg'; + + var userMeta = convo.userMeta[_.findIndex(convo.userMeta, function(item) { return item.userId.toString() == loggedInAccountId.toString(); })]; + var html = '
    '; + html += '
    '; html += '
    '; html += '
    '; - html += ''; + html += 'close'; html += '
    '; html += '

    '; html += '' + user.fullname + ''; html += '

    '; html += '
    '; html += '
    '; - html += '
    '; + if (userMeta && userMeta.deletedAt) + html += '
    Conversation deleted at ' + moment(userMeta.deletedAt).format('MM.D.YY \\at h:mma') + '
    '; + html += '
    '; + html += '
    '; + html += '
    '; + html += ''; + html += '
    '; html += '
    '; html += '
    '; html += '
    '; @@ -208,11 +527,20 @@ define('modules/chat',[ html += '
    '; html += '
    '; - $('.chat-box-wrapper').append(html); - $('.chat-box[data-chat-userId="' + user._id + '"] textarea').focus(); - helpers.hideAllpDropDowns(); - helpers.setupScrollers('.chat-box[data-chat-userId="' + user._id + '"] > div.scrollable'); - this.bindActions(); + $('.chat-box-wrapper').append(html); + $('.chat-box[data-chat-userid="' + user._id + '"] textarea').focus(); + loadChatMessages($('.chat-box-position').find('.chat-box[data-chat-userid="' + user._id + '"]'), convo.messages); + helpers.hideAllpDropDowns(); + helpers.setupScrollers('.chat-box[data-chat-userid="' + user._id + '"] > div.scrollable'); + bindChatWindowActions(convo._id); + helpers.scrollToBottom($('.chat-box[data-chat-userid="' + user._id + '"]').find('.chat-box-messages')); + + socket.emit('saveChatWindow', {userId: loggedInAccountId, convoId: convo._id, remove: false}); + + //Fire when window is done loading + if (_.isFunction(complete)) + return complete(); + }); }; function UpdateOnlineBubbles(usersOnline) { @@ -230,10 +558,10 @@ define('modules/chat',[ } function createChatMessageDiv(message) { - var html = '
    '; + var html = '
    '; html += '
    '; html += '
    '; - html += '
    ' + message + ''; + html += '
    ' + message.replace(/\n\r?/g, '
    ') + '
    '; html += '
    '; return html; @@ -242,12 +570,12 @@ define('modules/chat',[ function createChatMessageFromUser(user, message) { var imageUrl = user.image; if (_.isUndefined(imageUrl)) imageUrl = 'defaultProfile.jpg'; - var html = '
    '; + var html = '
    '; html += ''; html += '
    '; html += '
    '; html += '
    '; - html += '' + message + ''; + html += '' + message.replace(/\n\r?/g, '
    ') + '
    '; html += '
    '; html += '
    '; html += '
    '; @@ -262,20 +590,13 @@ define('modules/chat',[ var textAreaHeight = self.parent().outerHeight(); var messages = self.parent().siblings('.chat-box-messages'); + messages.css({'min-height': '170px', 'max-height': '220px'}); + self.parent().css({'max-height': '77px', 'min-height':'16px'}); - switch (textAreaHeight) { - case 29: - messages.height(204); - break; - case 46: - messages.height(187); - break; - case 63: - messages.height(172); - break; - default: - messages.height(156); - } + if (newHeight < 80) + messages.height(messages.height() - (newHeight - oldHeight)); + //else + // messages.height(156); var ns = messages.getNiceScroll(0); if (ns) { diff --git a/src/public/js/modules/helpers.js b/src/public/js/modules/helpers.js index dc5e4264e..218db258f 100644 --- a/src/public/js/modules/helpers.js +++ b/src/public/js/modules/helpers.js @@ -14,8 +14,8 @@ "use strict"; -define(['jquery', 'underscore', 'moment', 'uikit', 'countup', 'waves', 'selectize','snackbar', 'async', 'nicescroll', 'easypiechart', 'chosen', 'velocity', 'formvalidator'], -function($, _, moment, UIkit, CountUp, Waves, Selectize, Snackbar) { +define(['jquery', 'underscore', 'moment', 'uikit', 'countup', 'waves', 'selectize','snackbar', 'roles', 'async', 'nicescroll', 'easypiechart', 'chosen', 'velocity', 'formvalidator', 'peity'], +function($, _, moment, UIkit, CountUp, Waves, Selectize, Snackbar, ROLES) { var helpers = {}; @@ -25,7 +25,6 @@ function($, _, moment, UIkit, CountUp, Waves, Selectize, Snackbar) { var self = this; self.resizeFullHeight(); - //self.removeAllScrollers(); self.setupScrollers(); self.setupScrollers('.scrollable-dark'); self.setupScrollers('.wrapper'); @@ -49,6 +48,8 @@ function($, _, moment, UIkit, CountUp, Waves, Selectize, Snackbar) { self.UI.matchHeight(); var layout = self.onWindowResize(); + //Initial Call to Load Layout + layout(); $(window).resize(layout); }; @@ -180,8 +181,8 @@ function($, _, moment, UIkit, CountUp, Waves, Selectize, Snackbar) { function updateInput(object) { // clear wrapper classes - object.closest('.uk-input-group').removeClass('uk-input-group-danger uk-input-group-success'); - object.closest('.md-input-wrapper').removeClass('md-input-wrapper-danger md-input-wrapper-success md-input-wrapper-disabled'); + object.closest('.uk-input-group').removeClass('uk-input-group-danger uk-input-group-success uk-input-group-nocolor'); + object.closest('.md-input-wrapper').removeClass('md-input-wrapper-danger md-input-wrapper-success uk-input-wrapper-nocolor md-input-wrapper-disabled'); if(object.hasClass('md-input-danger')) { if(object.closest('.uk-input-group').length) { @@ -195,6 +196,12 @@ function($, _, moment, UIkit, CountUp, Waves, Selectize, Snackbar) { } object.closest('.md-input-wrapper').addClass('md-input-wrapper-success') } + if(object.hasClass('md-input-nocolor')) { + if(object.closest('.uk-input-group').length) { + object.closest('.uk-input-group').addClass('uk-input-group-nocolor') + } + object.closest('.md-input-wrapper').addClass('md-input-wrapper-nocolor') + } if(object.prop('disabled')) { object.closest('.md-input-wrapper').addClass('md-input-wrapper-disabled') } @@ -337,6 +344,7 @@ function($, _, moment, UIkit, CountUp, Waves, Selectize, Snackbar) { if(!$this.hasClass('selectized')) { var thisPosBottom = $this.attr('data-md-selectize-bottom'); var closeOnSelect = $this.attr('data-md-selectize-closeOnSelect') !== 'undefined' ? $this.attr('data-md-selectize-closeOnSelect') : false; + var maxOptions = $this.attr('data-md-selectize-maxOptions') !== 'undefined' ? $this.attr('data-md-selectize-maxOptions') : 1000; $this .after('
    ') .closest('div').addClass('uk-position-relative') @@ -349,6 +357,7 @@ function($, _, moment, UIkit, CountUp, Waves, Selectize, Snackbar) { dropdownParent: $this.closest('div'), hideSelected: true, closeAfterSelect: closeOnSelect, + maxOptions: maxOptions, onDropdownOpen: function($dropdown) { $dropdown .hide() @@ -452,12 +461,11 @@ function($, _, moment, UIkit, CountUp, Waves, Selectize, Snackbar) { }; helpers.showFlash = function(message, error, sticky) { - var self = this; var flash = $('.flash-message'); if (flash.length < 1) return true; - var e = error ? true : false; - var s = sticky ? true : false; + var e = !!error; + var s = !!sticky; var flashTO; var flashText = flash.find('.flash-text'); @@ -579,7 +587,6 @@ function($, _, moment, UIkit, CountUp, Waves, Selectize, Snackbar) { }; helpers.setupScrollers = function(selector) { - var self = this; if (_.isUndefined(selector)) { selector = '.scrollable'; } @@ -606,17 +613,20 @@ function($, _, moment, UIkit, CountUp, Waves, Selectize, Snackbar) { $(document).ready(function() { $(selector).each(function() { - // var ns = $(this).getNiceScroll(0); - // if (ns !== false) - // $(selector).niceScroll().remove(); - - $(this).niceScroll({ - cursorcolor: color, - cursorwidth: size, - cursorborder: colorBrd, - cursoropacitymax: opacityMax, - horizrailenabled: false - }); + var ns = $(this).getNiceScroll(0); + if (ns !== false) { + ns.resize(); + } else { + $(this).niceScroll({ + cursorcolor: color, + cursorwidth: size, + cursorborder: colorBrd, + cursoropacitymax: opacityMax, + horizrailenabled: false + }); + } + + $(this).trigger('scrollable', this); }); }); }; @@ -673,11 +683,15 @@ function($, _, moment, UIkit, CountUp, Waves, Selectize, Snackbar) { } }; - helpers.removeAllScrollers = function() { - $('.nicescroll-rails').each(function() { - var self = $(this); - self.remove(); + helpers.removeAllScrollers = function(complete) { + $('*').each(function() { + var ns = $(this).getNiceScroll(0); + if (ns) return ns.remove(); }); + + if (_.isFunction(complete)) { + return complete(); + } }; helpers.resizeFullHeight = function() { @@ -689,6 +703,10 @@ function($, _, moment, UIkit, CountUp, Waves, Selectize, Snackbar) { if (self.css('borderTopStyle') === "solid") h = h - 1; + var dataOffset = self.attr('data-offset'); + if (!_.isUndefined(dataOffset)) + h = h - dataOffset; + //self.css('overflow', 'hidden'); self.height(h - (self.offset().top)); }); @@ -1061,7 +1079,7 @@ function($, _, moment, UIkit, CountUp, Waves, Selectize, Snackbar) { var role = $('div#__loggedInAccount_role').text(); if (_.isUndefined(role)) return false; - var rolePerm = _.find(roles, {'id': role}); + var rolePerm = _.find(ROLES, {'id': role}); if (_.isUndefined(rolePerm)) return false; if (rolePerm.allowedAction === '*') return true; @@ -1100,6 +1118,53 @@ function($, _, moment, UIkit, CountUp, Waves, Selectize, Snackbar) { } }; + helpers.setupContextMenu = function(selector, complete) { + var $selector = $(selector); + if ($selector.length < 1) return false; + + $(document).off('mousedown'); + $(document).on('mousedown', function(e) { + if (!$(e.target).parents('.context-menu').length > 0) { + var cm = $('.context-menu'); + if (cm.length > 0) + cm.hide(100); + } + }); + + var menuOpenFor = undefined; + $selector.off('contextmenu'); + $selector.on('contextmenu', function(event) { + event.preventDefault(); + menuOpenFor = event.target; + $('.context-menu').finish().toggle(100). + css({ + top: event.pageY + 'px', + left: event.pageX + 'px' + }); + }); + + $selector.off('mousedown'); + $selector.on('mousedown', function(event) { + if (!$(event.target).parents('.context-menu').length > 0) { + $('.context-menu').hide(100); + } + }); + + var $contextMenuLi = $('.context-menu li'); + $contextMenuLi.each(function() { + var $item = $(this); + $item.off('click'); + $item.on('click', function() { + $('.context-menu').hide(100); + if (!_.isFunction(complete)) { + console.log('Invalid Callback Function in Context-Menu!'); + } else + return complete($(this).attr('data-action'), menuOpenFor); + }); + }); + + }; + function stringStartsWith(string, prefix) { return string.slice(0, prefix.length) == prefix; } diff --git a/src/public/js/modules/navigation.js b/src/public/js/modules/navigation.js index d409cf8ef..873e14779 100644 --- a/src/public/js/modules/navigation.js +++ b/src/public/js/modules/navigation.js @@ -156,7 +156,7 @@ define(['jquery', 'modules/helpers', 'underscore', 'modules/socket'], function($ e.preventDefault(); } - function liClick(e) { + function liClick() { helpers.hideAllpDropDowns(); helpers.hideDropDownScrolls(); } diff --git a/src/public/js/modules/socket.io/logs.io.js b/src/public/js/modules/socket.io/logs.io.js index 2932d7fbc..267f9f929 100644 --- a/src/public/js/modules/socket.io/logs.io.js +++ b/src/public/js/modules/socket.io/logs.io.js @@ -39,11 +39,11 @@ define('modules/socket.io/logs.io', [ function cleanPreTags() { [].forEach.call(document.querySelectorAll('pre'), function($pre) { - var lines = $pre.innerHTML.split('\n'); + var lines = $($pre).html().split('\n'); var matches; for (var i = 0; i < lines.length; i++) { var indentation = (matches = /^\s+/.exec(lines[i])) != null ? matches[0] : null; - if (!!indentation) { + if (indentation) { // lines = lines.map(function(line) { // return line.replace(indentation, ''); // }); @@ -51,7 +51,7 @@ define('modules/socket.io/logs.io', [ } } - return $pre.innerHTML = lines.join('\n').trim(); + return $($pre).html(lines.join('\n').trim()); }); } diff --git a/src/public/js/modules/socket.io/messagesUI.js b/src/public/js/modules/socket.io/messagesUI.js index bd5121eed..b5654ccba 100644 --- a/src/public/js/modules/socket.io/messagesUI.js +++ b/src/public/js/modules/socket.io/messagesUI.js @@ -22,94 +22,90 @@ define('modules/socket.io/messagesUI', [ ], function($, _, moment, helpers, nav) { var messagesUI = {}; - - messagesUI.setMessageRead = function(socket, messageId) { - socket.emit('setMessageRead', messageId); - }; - +//TODO: CLEAN THIS!!! messagesUI.updateSingleMessageItem = function(socket) { - socket.removeAllListeners('updateSingleMessageItem'); - socket.on('updateSingleMessageItem', function(message) { - var messageItem = $('.message-items').find('li[data-messageid="' + message._id + '"]'); - if (messageItem.length > 0) { - messageItem.removeClass('unread'); - messageItem.removeClass('message-tag'); - } - }); + // socket.removeAllListeners('updateSingleMessageItem'); + // socket.on('updateSingleMessageItem', function(message) { + // var messageItem = $('.message-items').find('li[data-messageid="' + message._id + '"]'); + // if (messageItem.length > 0) { + // messageItem.removeClass('unread'); + // messageItem.removeClass('message-tag'); + // } + // }); }; messagesUI.updateMessagesFolder = function(socket) { - socket.removeAllListeners('updateMessagesFolder'); - socket.on('updateMessagesFolder', function(data) { - var folderNum = parseInt(data.folder); - var messages = data.items; - var folderName = undefined; - switch (folderNum) { - case 0: - folderName = 'inbox'; - break; - case 1: - folderName = 'sent items'; - break; - case 2: - folderName = 'trash'; - break; - } - - var messageItems = $('.message-items[data-folder="' + folderName + '"]'); - if (messageItems.length < 1) { - console.log('[trudesk:messagesUI] Error - Cant Find message-items Container. [foldername=' + folderName + ']'); - return true; - } - - var activeItemId = messageItems.find('li.active').attr('data-messageid'); - var checkedItems = []; - messageItems.find('input[type="checkbox"]:checked').each(function() { - var self = $(this); - var $messageId = self.parents('li').attr('data-messageid'); - checkedItems.push($messageId); - }); - - var count = messageItems.find('li').not(':first').length; - if (count < _.size(messages)) { - var audio = $('audio#newmessageaudio'); - if (audio.length > 0) audio.trigger('play'); - } - messageItems.find('li').not(':first').remove(); - var html = ''; - - _.each(messages, function(message) { - var unread = (message.unread) ? 'unread message-tag ' : ''; -// var dateFormated = moment(message.date).format('MM/DD/YYYY at hh:mmt'); - var dateFormated = moment(message.date).calendar(); - var active = ''; - if (message._id == activeItemId) active = ' active '; - var checked = ''; - if (_.contains(checkedItems, message._id)) checked = ' checked '; - - html += '
  • ' + - ' ' + - ' ' + - ' ' + dateFormated + '' + - ' ' + message.from.fullname + '' + - ' ' + message.subject + '' + - '
  • '; - }); - - messageItems.append(html); - var hasActive = messageItems.find('li.active').length > 0; - if (!hasActive) helpers.clearMessageContent(); - - var infoMessage = data.infoMessage; - if (!_.isUndefined(infoMessage) && infoMessage.length > 0 && _.size(messages) > 0) { - helpers.UI.showSnackbar({text: infoMessage}); - } - - require(['pages/messages'], function(m) { - m.init(); - m.startRefresh(); - }); - }); +// socket.removeAllListeners('updateMessagesFolder'); +// socket.on('updateMessagesFolder', function(data) { +// var folderNum = parseInt(data.folder); +// var messages = data.items; +// var folderName = undefined; +// switch (folderNum) { +// case 0: +// folderName = 'inbox'; +// break; +// case 1: +// folderName = 'sent items'; +// break; +// case 2: +// folderName = 'trash'; +// break; +// } +// +// var messageItems = $('.message-items[data-folder="' + folderName + '"]'); +// if (messageItems.length < 1) { +// console.log('[trudesk:messagesUI] Error - Cant Find message-items Container. [foldername=' + folderName + ']'); +// return true; +// } +// +// var activeItemId = messageItems.find('li.active').attr('data-messageid'); +// var checkedItems = []; +// messageItems.find('input[type="checkbox"]:checked').each(function() { +// var self = $(this); +// var $messageId = self.parents('li').attr('data-messageid'); +// checkedItems.push($messageId); +// }); +// +// var count = messageItems.find('li').not(':first').length; +// if (count < _.size(messages)) { +// var audio = $('audio#newmessageaudio'); +// if (audio.length > 0) audio.trigger('play'); +// } +// messageItems.find('li').not(':first').remove(); +// var html = ''; +// +// _.each(messages, function(message) { +// var unread = (message.unread) ? 'unread message-tag ' : ''; +// // var dateFormated = moment(message.date).format('MM/DD/YYYY at hh:mmt'); +// var dateFormated = moment(message.date).calendar(); +// var active = ''; +// if (message._id == activeItemId) active = ' active '; +// var checked = ''; +// if (_.contains(checkedItems, message._id)) checked = ' checked '; +// +// html += '
  • ' + +// ' ' + +// ' ' + +// ' ' + dateFormated + '' + +// ' ' + message.from.fullname + '' + +// ' ' + message.subject + '' + +// '
  • '; +// }); +// +// messageItems.append(html); +// var hasActive = messageItems.find('li.active').length > 0; +// if (!hasActive) helpers.clearMessageContent(); +// +// var infoMessage = data.infoMessage; +// if (!_.isUndefined(infoMessage) && infoMessage.length > 0 && _.size(messages) > 0) { +// helpers.UI.showSnackbar({text: infoMessage}); +// } +// +// require(['pages/messages'], function(m) { +// m.init(); +// m.startRefresh(); +// }); +// }); }; return messagesUI; diff --git a/src/public/js/modules/socket.io/noticeUI.js b/src/public/js/modules/socket.io/noticeUI.js index 75f4e5525..b1b27dc27 100644 --- a/src/public/js/modules/socket.io/noticeUI.js +++ b/src/public/js/modules/socket.io/noticeUI.js @@ -21,7 +21,7 @@ define('modules/socket.io/noticeUI', [ 'modules/navigation', 'history' -], function($, _, moment, helpers, UIkit, nav) { +], function($, _, moment, helpers, UIkit) { var noticeUI = {}; noticeUI.setShowNotice = function(socket, notice) { diff --git a/src/public/js/modules/socket.io/ticketsUI.js b/src/public/js/modules/socket.io/ticketsUI.js index 67d501aad..5ab98dc30 100644 --- a/src/public/js/modules/socket.io/ticketsUI.js +++ b/src/public/js/modules/socket.io/ticketsUI.js @@ -20,7 +20,7 @@ define('modules/socket.io/ticketsUI', [ 'modules/navigation', 'history' -], function($, _, moment, helpers, nav) { +], function($) { var ticketsUI = {}; ticketsUI.updateSubscribe = function(socket) { diff --git a/src/public/js/modules/ui.js b/src/public/js/modules/ui.js index 03eadeaa3..8b5cfe548 100644 --- a/src/public/js/modules/ui.js +++ b/src/public/js/modules/ui.js @@ -35,7 +35,8 @@ define('modules/ui', [ this.onDisconnect(); this.updateUsers(); this.updateNotifications(); - this.updateMailNotifications(); + //this.updateMailNotifications(); + this.updateConversationsNotifications(); this.updateComments(); this.updateUi(); this.updateTicketStatus(); @@ -54,8 +55,6 @@ define('modules/ui', [ this.onUpdateTicketGrid(); this.onProfileImageUpdate(); - this.updateMessagesFolder(socket); - this.updateSingleMessageItem(socket); this.updateShowNotice(socket); this.updateClearNotice(socket); this.updateSubscribe(socket); @@ -64,25 +63,6 @@ define('modules/ui', [ this.updateServerLogs(socket); }; - socketUi.setMessageRead = function(messageId) { - msgUI.setMessageRead(socket, messageId); - }; - - socketUi.sendUpdateMessageFolder = function(folder) { - socket.emit('updateMessageFolder', {folder: folder}); - }; - - socketUi.moveMessageToFolder = function(messageIds, toFolder, folderToRefresh) { - socket.emit('moveMessageToFolder', messageIds, toFolder, folderToRefresh); - }; - - socketUi.deletedMessages = function(messageIds) { - socket.emit('deleteMessages', messageIds); - }; - - socketUi.updateSingleMessageItem = msgUI.updateSingleMessageItem; - socketUi.updateMessagesFolder = msgUI.updateMessagesFolder; - socketUi.setShowNotice = function(notice) { noticeUI.setShowNotice(socket, notice); }; @@ -111,19 +91,16 @@ define('modules/ui', [ socketUi.onDisconnect = function() { socket.removeAllListeners('disconnect'); socket.on('disconnect', function(data) { - //helpers.showFlash('Disconnected from server. Reconnecting...', true, true); helpers.UI.showDisconnectedOverlay(); }); socket.removeAllListeners('reconnect_attempt'); socket.on('reconnect_attempt', function(err) { - //helpers.showFlash('Disconnected from server. Reconnecting...', true, true); helpers.UI.showDisconnectedOverlay(); }); socket.removeAllListeners('connect_timeout'); socket.on('connect_timeout', function(err) { - //helpers.showFlash('Disconnected from server. Reconnecting...', true, true); helpers.UI.showDisconnectedOverlay(); }); }; @@ -136,54 +113,57 @@ define('modules/ui', [ socket.emit('clearAssignee', id); }; - socketUi.updateMailNotifications = function() { + socketUi.updateConversationsNotifications = function() { $(document).ready(function() { var btnMailNotifications = $('#btn_mail-notifications'); btnMailNotifications.off('click', updateMailNotificationsClicked); btnMailNotifications.on('click', updateMailNotificationsClicked); }); - socket.removeAllListeners('updateMailNotifications'); - socket.on('updateMailNotifications', function(data) { + socket.removeAllListeners('updateConversationsNotifications'); + socket.on('updateConversationsNotifications', function(data) { var label = $('#btn_mail-notifications').find('> span'); - var count = data.unreadCount; - var items = data.unreadItems; + //TODO: Fixed this once unread messages is fully impl. + var count = 0; + var items = data.conversations; if (count < 1) { label.hide(); } else { - label.html(count); + label.text(count); label.removeClass('hide'); label.show(); } var mailDropList = $('div.mail-Messages').find('ul'); - mailDropList.find('li').each(function() { - $(this).remove(); - }); + mailDropList.empty(); var html = ""; _.each(items, function(item) { - html += '
  • '; - html += ''; - html += '
    '; - if (item.from.image) - html += '
    profile
    '; - else - html += '
    profile
    '; - html += '
    ' + item.from.fullname + '
    '; - html += '
    '; - html += '' + item.subject + ''; - html += '
    '; - html += '
    '; - html += ''; - html += '
    '; - html += '
    '; - html += '
    '; - html += '
  • '; + if (item.partner != undefined) { + html += '
  • '; + html += ''; + html += '
    '; + if (item.partner.image) + html += '
    profile
    '; + else + html += '
    profile
    '; + html += '
    ' + item.partner.fullname + '
    '; + html += '
    '; + html += '' + item.recentMessage + ''; + html += '
    '; + html += '
    '; + html += ''; + html += '
    '; + html += '
    '; + html += '
    '; + html += '
  • '; + } }); mailDropList.append(html); + + $('body').ajaxify(); }); }; @@ -318,7 +298,7 @@ define('modules/ui', [ var wrapper = ''; _.each(users, function(user) { var html = '
  • '; - html += ''; + html += ''; html += '
    '; if (_.isUndefined(user.image)) { html += '
    profile
    '; @@ -728,10 +708,10 @@ define('modules/ui', [ '
    ' + '
    '; if (helpers.canUser('comment:delete') || helpers.canUserEditSelf(comment.owner._id, 'comment')) { - html += '
    '; + html += '
    '; } if (helpers.canUser('commen:edit') || helpers.canUserEditSelf(comment.owner._id, 'comment')) { - html += '
    '; + html += '
    '; } html += '
    ' + @@ -740,7 +720,6 @@ define('modules/ui', [ commentContainer.html(html); helpers.resizeAll(); - socketUi.updateUsers(); require(['pages/singleTicket'], function(st) { st.init(); @@ -867,7 +846,7 @@ define('modules/ui', [ socketUi.onProfileImageUpdate = function() { socket.removeAllListeners('trudesk:profileImageUpdate'); socket.on('trudesk:profileImageUpdate', function(data) { - var profileImage = $('#profileImage[data-userid="' + data.userid + '"]'); + var profileImage = $('.profileImage[data-userid="' + data.userid + '"]'); if (profileImage.length > 0) { profileImage.attr('src', '/uploads/users/' + data.img + '?r=' + new Date().getTime()); } diff --git a/src/public/js/pages/accounts.js b/src/public/js/pages/accounts.js index ea2b1d3e1..3995c631a 100644 --- a/src/public/js/pages/accounts.js +++ b/src/public/js/pages/accounts.js @@ -46,9 +46,7 @@ define('pages/accounts', [ $nextPage = 2, $enabled = true, - $loading = false, - - $inview = null; + $loading = false; UIkit.grid($account_list,{ controls: '#account_list_filter', @@ -121,7 +119,9 @@ define('pages/accounts', [ }); function getAccounts() { - if (!$enabled || $loading) return false; + if (!$enabled || $loading) { + return false; + } if (!$filterAll.hasClass('uk-active')) return true; $loading = true; diff --git a/src/public/js/pages/createNotice.js b/src/public/js/pages/createNotice.js index 9ea87f29a..d9d93c368 100644 --- a/src/public/js/pages/createNotice.js +++ b/src/public/js/pages/createNotice.js @@ -14,12 +14,11 @@ define('pages/createNotice', [ 'jquery', - 'modules/helpers', 'chosen', 'history', 'colorpicker' -], function($, helpers) { +], function($) { var createNotice = {}; createNotice.init = function() { diff --git a/src/public/js/pages/dashboard.js b/src/public/js/pages/dashboard.js index 310ac9eb8..08f9bed76 100644 --- a/src/public/js/pages/dashboard.js +++ b/src/public/js/pages/dashboard.js @@ -23,7 +23,7 @@ define('pages/dashboard', [ 'peity', 'history' -], function($, _, helpers, CountUp, c3, d3pie) { +], function($, _, helpers, CountUp, c3) { var dashboardPage = {}; dashboardPage.init = function() { @@ -95,7 +95,7 @@ define('pages/dashboard', [ }); var responseTime_text = $('#responseTime_text'); - var responseTime_graph = $('#responseTime_graph'); + //var responseTime_graph = $('#responseTime_graph'); var oldResponseTime = responseTime_text.text() == '--' ? 0 : responseTime_text.text(); var responseTime = _data.ticketAvg; var responseTime_animation = new CountUp('responseTime_text', oldResponseTime, responseTime, 0, 1.5); @@ -136,7 +136,7 @@ define('pages/dashboard', [ '#607D8B' ]; - var c = _.object(_.map(arr, function(v,i) { + var c = _.object(_.map(arr, function(v, i) { return v[0]; }), _.shuffle(colors)); diff --git a/src/public/js/pages/editaccount.js b/src/public/js/pages/editaccount.js index 258115fca..e59fcef61 100644 --- a/src/public/js/pages/editaccount.js +++ b/src/public/js/pages/editaccount.js @@ -14,10 +14,9 @@ define('pages/editaccount', [ 'jquery', - 'modules/helpers', 'history' -], function($, helpers) { +], function($) { var editaccount = {}; editaccount.init = function() { diff --git a/src/public/js/pages/messages.js b/src/public/js/pages/messages.js index fb7157bd8..a2fdeae87 100644 --- a/src/public/js/pages/messages.js +++ b/src/public/js/pages/messages.js @@ -14,102 +14,303 @@ define('pages/messages', [ 'jquery', + 'underscore', + 'angular', + 'uikit', + 'moment', 'modules/helpers', 'modules/socket', - 'history' + 'history', + 'isinview', + 'nicescroll' -], function($, helpers, socketClient) { +], function($, _, angular, UIKit, moment, helpers, socketClient) { var ui = socketClient.ui; var messagesPage = {}; - var refreshInterval = null; messagesPage.init = function() { $(document).ready(function() { - messagesPage.findActive(); - var messageItem = $('ul.message-items > li:not(.message-folder)'); + var $messageScroller = $('#message-content.scrollable'), + $messageScrollerNS = null, + $messagesWrapper = $('#messages'), + $scrollspy = $('#conversation-scrollspy'), + $spinner = $scrollspy.find('i'), + $searchBox = $('.search-box').find('input'), - messageItem.click(function(e) { - var target = e.target; - if (target.tagName.toLowerCase() == 'label' || $(target).is(":checkbox")) return true; + $nextPage = 2, + $enabled = true, + $loading = false, + //$inview = null, + $recentMessages = {}, + $convoId = $('#message-content[data-conversation-id]').attr('data-conversation-id'), + $loggedInAccountId = $('#__loggedInAccount__id').text(); - var self = $(this); - if (self.hasClass('active')) { - return true; + //Setup Context Menu + helpers.setupContextMenu('#convo-list > ul > li', function(action, target) { + var $li = $(target); + if (!$li.is('li')) + $li = $(target).parents('li'); + var convoId = $li.attr('data-conversation-id'); + switch(action.toLowerCase()) { + case "delete": + UIKit.modal.confirm('Are you sure you want to delete this conversation?', function() { + //Confirm + deleteConversation(convoId); + }, function() { + //Cancel + }, { + labels: { + 'Ok': 'YES' + }, + confirmButtonClass: 'confirm-delete-button' + }); } + }); + + $searchBox.off('keyup'); + $searchBox.on('keyup', onSearchKeyUp); - var id = self.attr('data-messageid'); + $(window).off('$trudesk:ready.messages'); + $(window).on('$trudesk:ready.messages', function() { + $messageScrollerNS = $messageScroller.getNiceScroll(0); + if ($messageScrollerNS != false) + $messageScrollerNS.doScrollTop($messageScroller.outerHeight() + 5000, 1000); - messagesPage.loadMessage(id, function(data) { - var pageContent = $('.page-content').filter(':first'); - var page = $(data).find('.page-content').filter(':first').html(); + //set active + if ($convoId !== undefined) { + var item = $('ul > li[data-conversation-id="' + $convoId + '"]'); + item.addClass('active'); + } - messagesPage.clearActive(); - self.addClass('active'); + //Remove All Chat Boxes + if ($('#__page').text().toLowerCase() === 'messages') { + $('.chat-box-position').each(function() { + var self = $(this); + self.remove(); + }); - pageContent.html(page); + $('.message-textbox').find('input').focus(); - ui.setMessageRead(id); - }); + $messageScroller.scroll(function() { + if ($scrollspy.isInView($messageScroller)) { + var run = _.throttle(loadMoreMessages, 100); + run(); + } + }); + } }); - var messageItems = $('ul.message-items'); - if (messageItems.length > 0) { - messagesPage.startRefresh(); + function deleteConversation(convoId) { + $.ajax({ + url: '/api/v1/messages/conversation/' + convoId, + method: 'DELETE', + success: function(response) { + if (response.success) { + //Check if on conversation + var $convo = $('#message-content[data-conversation-id="' + response.conversation._id +'"]'); + if ($convo.length > 0) { + History.pushState(null, null, '/messages', false); + } else { + var $convoLI = $('#convo-list').find('li[data-conversation-id="' + response.conversation._id + '"]'); + if ($convoLI.length > 0) { + $convoLI.remove(); + } + } + + $.event.trigger('$trudesk:chat:conversation:deleted', {conversation: response.conversation}); + + helpers.UI.showSnackbar('Conversation Deleted.', false); + } + }, + error: function(error) { + console.log(error); + } + }); } - }); - }; - messagesPage.loadMessage = function(id, callback) { - var rootUrl = History.getRootUrl(); - var msgUrl = rootUrl + 'messages/' + id; - $.ajax({ - url: msgUrl, - type: 'GET', - success: function(data) { - callback(data); - }, - error: function(error) { - throw new Error(error); + function onSearchKeyUp() { + var searchTerm = $searchBox.val().toLowerCase(); + $('.all-user-list li').each(function() { + if ($(this).filter('[data-search-term *= ' + searchTerm + ']').length > 0 || searchTerm.length < 1) { + $(this).show(); + } else { + $(this).hide(); + } + }) } - }); - }; - messagesPage.clearActive = function() { - $('ul.message-items > li.active').each(function() { - var self = $(this); - self.removeClass('active'); - }); - }; + function loadMoreMessages() { + if (!$enabled || $loading) return false; + if (_.isUndefined($convoId)) return false; + $loading = true; + $spinner.removeClass('uk-hidden'); - messagesPage.findActive = function() { - var path = location.pathname.split('/')[1]; - if (path.toLowerCase() !== 'messages') return; - var mId = location.pathname.split('/')[2]; - if (!mId) return true; + //Load Messages + $.ajax({ + url: '/api/v1/messages/conversation/' + $convoId + '?page=' + $nextPage + }).done(function(data) { + $spinner.addClass('uk-hidden'); + var messages = data.messages; + if (_.size(messages) < 1) { + $enabled = false; + $loading = false; + return false; + } - var item = $('ul.message-items > li[data-messageId=' + mId + ']'); - if (item) { - item.addClass('active'); - } - }; + var html = ''; - messagesPage.startRefresh = function() { - //Refresh Current Folder - var folder = $('#__folder').html(); - if (refreshInterval) { - clearInterval(refreshInterval); - } - - refreshInterval = setInterval(function() { - if (folder.length < 1) folder = 0; - ui.sendUpdateMessageFolder(folder); - }, 5000); - }; + _.each(messages, function(m) { + var h = buildMessageHTML(m); + if (h.length > 0) html += h; + }); + + var stage = $('
    ').appendTo('body').addClass('stage').css({'opacity': 0, 'visibility': 'hidden', 'position': 'absolute', 'top': '-9999em', 'left': '-9999em'}).append(html); + var height = $(stage).outerHeight(); + $(stage).remove(); + + $messagesWrapper.prepend(html); + + UIKit.$html.trigger('changed.uk.dom'); + helpers.resizeScroller($messageScroller); + $messageScrollerNS.doScrollTop(height, -1); + + $nextPage = $nextPage + 1; + $loading = false; + }).error(function(err) { + console.log(err); + }) + } + + function buildMessageHTML(message) { + var html = ''; + var loggedInAccountId = $('#__loggedInAccount__id').text(); + if (loggedInAccountId == undefined) return false; + var left = true; + if (message.owner._id.toString() === loggedInAccountId.toString()) + left = false; + + var image = (message.owner.image == undefined ? 'defaultProfile.jpg' : message.owner.image); + + if (left) { + html += '
    '; + html += ''; + html += '
    '; + html += '

    ' + message.body + '

    '; + html += '
    '; + html += '
    '; + } else { + html += '
    '; + html += '
    '; + html += '

    ' + message.body + '

    '; + html += '
    '; + html += '
    '; + } - messagesPage.stopRefresh = function() { - if (refreshInterval) { - clearInterval(refreshInterval); - } + return html; + } + + //Remove all Events in the .conversation namespace for this page. + $(window).off('.conversation'); + + //On user Typing + $(window).on('$trudesk:chat:typing.conversation', function(event, data) { + var convoListItem = $('#convo-list').find('li[data-conversation-id="' + data.cid + '"]'); + if (convoListItem.length > 0) { + $recentMessages[data.cid] = convoListItem.find('.message-subject').text(); + convoListItem.find('.message-subject').text(data.fromUser.fullname + ' is typing...'); + } + }); + + $(window).on('$trudesk:chat:stoptyping.conversation', function(event, data) { + var convoListItem = $('#convo-list').find('li[data-conversation-id="' + data.cid + '"]'); + if (convoListItem.length > 0) { + convoListItem.find('.message-subject').text($recentMessages[data.cid]); + } + }); + + //On Chat Message + $(window).on('$trudesk:chat:message.conversation', function(event, data) { + var message = { + _id: data.messageId, + conversation: data.conversation, + body: data.message, + owner: data.fromUser + }; + + var html = buildMessageHTML(message); + var messageWrapper = $('#message-content[data-conversation-id="' + message.conversation + '"]'); + if (messageWrapper.length > 0) { + messageWrapper.find('#messages').append(html); + } + + var convoListItem = $('li[data-conversation-id="' + data.conversation + '"]'); + if (convoListItem.length > 0) { + convoListItem.attr('data-updatedAt', new Date()); + var ul = convoListItem.parent('ul'); + var li = ul.children('li'); + li.detach().sort(function(a, b) { + return new Date($(a).attr('data-updatedAt')) < new Date($(b).attr('data-updatedAt')); + }); + + ul.append(li); + + + var fromName = message.owner.fullname; + if (message.owner._id.toString() == $loggedInAccountId) { + fromName = 'You'; + } + convoListItem.find('.message-subject').text(fromName + ': ' + message.body); + $recentMessages[message.conversation] = fromName + ': ' + message.body; + + convoListItem.find('.message-date').text(moment().calendar()); + } else { + var convoUL = $('#convo-list > ul.message-items'); + if (convoUL.length > 0) { + var partner = message.owner; + if (message.owner._id.toString() == $loggedInAccountId.toString()) + partner = data.toUser; + var newLI = buildConversationListItem({ + _id: message.conversation, + partner: partner, + updatedAt: new Date(), + recentMessage: message.owner.fullname + ': ' + message.body + }); + + var $injector = angular.injector(["ng", "trudesk"]); + $injector.invoke(["$compile", "$rootScope", function ($compile, $rootScope) { + var $scope = convoUL.prepend(newLI).scope(); + $compile(convoUL)($scope || $rootScope); + $rootScope.$digest(); + }]); + } + } + + UIKit.$html.trigger('changed.uk.dom'); + helpers.resizeScroller($messageScroller); + helpers.scrollToBottom($messageScroller); + }); + + function buildConversationListItem(data) { + var html = ''; + + html += '
  • '; + html += '
    '; + var imageUrl = 'defaultProfile.jpg'; + if (data.partner.image) + imageUrl = data.partner.image; + html += ''; + html += ''; + html += '
    '; + html += '
    '; + html += '' + data.partner.fullname + ''; + html += '' + moment(data.updatedAt).calendar() + ''; + html += '' + data.recentMessage + ''; + html += '
    '; + html += '
  • '; + + return html; + } + }); }; return messagesPage; diff --git a/src/public/js/pages/pageloader.js b/src/public/js/pages/pageloader.js new file mode 100644 index 000000000..53d322309 --- /dev/null +++ b/src/public/js/pages/pageloader.js @@ -0,0 +1,63 @@ +/** + . .o8 oooo + .o8 "888 `888 + .o888oo oooo d8b oooo oooo .oooo888 .ooooo. .oooo.o 888 oooo + 888 `888""8P `888 `888 d88' `888 d88' `88b d88( "8 888 .8P' + 888 888 888 888 888 888 888ooo888 `"Y88b. 888888. + 888 . 888 888 888 888 888 888 .o o. )88b 888 `88b. + "888" d888b `V88V"V8P' `Y8bod88P" `Y8bod8P' 8""888P' o888o o888o + ======================================================================== + Created: 02/07/2017 + Author: Chris Brame + + Desc: Needed to load the page states from the initial load. Ajaxify + handles the load after the initial. + + **/ + +define('pages/pageloader', function() { + var pageLoader = {}; + + pageLoader.init = function() { + require([ + 'pages/dashboard', + 'pages/messages', + 'pages/tickets', + 'pages/accounts', + 'pages/groups', + 'pages/profile', + 'pages/singleTicket', + 'pages/reports', + 'pages/reportsBreakdown', + 'pages/notices', + 'pages/createNotice', + 'pages/plugins', + 'pages/settings', + 'pages/logs', + 'pages/tags', + + 'modules/ajaximgupload', + 'modules/attachmentUpload' + ], function(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) { + a.init(); + b.init(); + c.init(); + d.init(); + e.init(); + f.init(); + g.init(); + h.init(); + i.init(); + j.init(); + k.init(); + l.init(); + m.init(); + n.init(); + o.init(); + p.init(); + q.init(); + }); + }; + + return pageLoader +}); \ No newline at end of file diff --git a/src/public/js/pages/plugins.js b/src/public/js/pages/plugins.js new file mode 100644 index 000000000..5a4fd930f --- /dev/null +++ b/src/public/js/pages/plugins.js @@ -0,0 +1,38 @@ +/** + . .o8 oooo + .o8 "888 `888 + .o888oo oooo d8b oooo oooo .oooo888 .ooooo. .oooo.o 888 oooo + 888 `888""8P `888 `888 d88' `888 d88' `88b d88( "8 888 .8P' + 888 888 888 888 888 888 888ooo888 `"Y88b. 888888. + 888 . 888 888 888 888 888 888 .o o. )88b 888 `88b. + "888" d888b `V88V"V8P' `Y8bod88P" `Y8bod8P' 8""888P' o888o o888o + ======================================================================== + Created: 02/10/2015 + Author: Chris Brame + + **/ + +define('pages/plugins', [ + 'jquery', + 'modules/helpers', + 'history' + +], function($, helpers) { + var pluginsPage = {}; + + pluginsPage.init = function() { + $(document).ready(function() { + var $searchPluginList = $('#search_plugin_list'); + $searchPluginList.off('keyup'); + $searchPluginList.on('keyup', function() { + var value = this.value.toLowerCase(); + $("table#plugin_list_table").find("tbody").find('tr').each(function() { + var id = $(this).find("td").text().toLowerCase(); + $(this).toggle(id.indexOf(value) !== -1); + }) + }); + }); + }; + + return pluginsPage; +}); \ No newline at end of file diff --git a/src/public/js/pages/profile.js b/src/public/js/pages/profile.js new file mode 100644 index 000000000..917d9d936 --- /dev/null +++ b/src/public/js/pages/profile.js @@ -0,0 +1,42 @@ +/** + . .o8 oooo + .o8 "888 `888 + .o888oo oooo d8b oooo oooo .oooo888 .ooooo. .oooo.o 888 oooo + 888 `888""8P `888 `888 d88' `888 d88' `88b d88( "8 888 .8P' + 888 888 888 888 888 888 888ooo888 `"Y88b. 888888. + 888 . 888 888 888 888 888 888 .o o. )88b 888 `88b. + "888" d888b `V88V"V8P' `Y8bod88P" `Y8bod8P' 8""888P' o888o o888o + ======================================================================== + Created: 02/10/2015 + Author: Chris Brame + + **/ + +define('pages/profile', [ + 'jquery', + 'qrcode', + 'history' + +], function($) { + var profile = {}; + + profile.init = function() { + $(document).ready(function() { + generateQRCode(); + }); + }; + + function generateQRCode() { + var $totp = $('#totp-qrcode'); + var hasKey = $totp.attr('data-hasKey'); + var key = $totp.attr('data-totpkey'); + if (hasKey === 'true') { + $totp.qrcode({width: 242, height: 242, text: key}); + } else { + $('input#tOTPKey').addClass('hide'); + $('.totp-settings-wrap .panel-body2').addClass('hide'); + } + } + + return profile; +}); \ No newline at end of file diff --git a/src/public/js/pages/reports.js b/src/public/js/pages/reports.js index 060d49754..64afad329 100644 --- a/src/public/js/pages/reports.js +++ b/src/public/js/pages/reports.js @@ -23,7 +23,7 @@ define('pages/reports', [ 'peity', 'history' -], function($, _, helpers, CountUp, c3, d3pie) { +], function($, _, helpers, CountUp, c3) { var reportsPage = {}; reportsPage.init = function() { @@ -93,7 +93,7 @@ define('pages/reports', [ }); var responseTime_text = $('#responseTime_text'); - var responseTime_graph = $('#responseTime_graph'); + //var responseTime_graph = $('#responseTime_graph'); var oldResponseTime = responseTime_text.text() == '--' ? 0 : responseTime_text.text(); var responseTime = _data.ticketAvg; var responseTime_animation = new CountUp('responseTime_text', oldResponseTime, responseTime, 0, 1.5); @@ -146,7 +146,7 @@ define('pages/reports', [ '#607D8B' ]; - var c = _.object(_.map(arr, function(v,i) { + var c = _.object(_.map(arr, function(v) { return v[0]; }), _.shuffle(colors)); @@ -162,7 +162,7 @@ define('pages/reports', [ }, donut: { label: { - format: function (value, ratio, id) { + format: function () { return ''; } } @@ -178,7 +178,7 @@ define('pages/reports', [ method: 'GET', success: function(data) { - var arr = _.map(data.items, function(v, key) { + var arr = _.map(data.items, function(v) { return [v.name, v.count]; }); @@ -203,7 +203,7 @@ define('pages/reports', [ colors = _.shuffle(colors); - var c = _.object(_.map(arr, function(v,i) { + var c = _.object(_.map(arr, function(v) { return v[0]; }), colors); @@ -219,70 +219,12 @@ define('pages/reports', [ }, donut: { label: { - format: function (value, ratio, id) { + format: function () { return ''; } } } }); - - //_.each(data.items, function(item) { - // var obj = {}; - // obj.label = item.name; - // obj.value = item.count; - // var color = _.sample(colors); - // colors = _.without(colors, color); - // - // obj.color = color; - // - // d.content.push(obj); - //}); - // - //$('#pieChart').find('svg').remove(); - // - //new d3pie("pieChart", { - // "size": { - // "canvasHeight": 215, - // "canvasWidth": 450, - // "pieInnerRadius": "60%", - // "pieOuterRadius": "68%" - // }, - // "data": d, - // "labels": { - // "outer": { - // "pieDistance": 15 - // }, - // "inner": { - // "format": "value" - // }, - // "mainLabel": { - // "font": "roboto" - // }, - // "percentage": { - // "color": "#ffffff", - // "font": "roboto", - // "decimalPlaces": 0 - // }, - // "value": { - // "color": "#ffffff", - // "font": "roboto" - // }, - // "lines": { - // "enabled": true, - // "color": "#78909c" - // }, - // "truncation": { - // "enabled": true - // } - // }, - // "effects": { - // "pullOutSegmentOnClick": { - // "effect": "linear", - // "speed": 400, - // "size": 3 - // } - // } - //}); } }); } diff --git a/src/public/js/pages/reportsBreakdown.js b/src/public/js/pages/reportsBreakdown.js index b5e0af0cd..a603250a9 100644 --- a/src/public/js/pages/reportsBreakdown.js +++ b/src/public/js/pages/reportsBreakdown.js @@ -88,7 +88,7 @@ define('pages/reportsBreakdown', [ }); var responseTime_text = $('#responseTime_text'); - var responseTime_graph = $('#responseTime_graph'); + //var responseTime_graph = $('#responseTime_graph'); var oldResponseTime = responseTime_text.text() == '--' ? 0 : responseTime_text.text(); var responseTime = _data.data.avgResponse; var responseTime_animation = new CountUp('responseTime_text', oldResponseTime, responseTime, 0, 1.5); @@ -145,7 +145,7 @@ define('pages/reportsBreakdown', [ '#455a64' ]; - var c = _.object(_.map(arr, function(v,i) { + var c = _.object(_.map(arr, function(v) { return v[0]; }), colors); @@ -161,7 +161,7 @@ define('pages/reportsBreakdown', [ }, donut: { label: { - format: function (value, ratio, id) { + format: function () { return ''; } } diff --git a/src/public/js/pages/settings.js b/src/public/js/pages/settings.js index 4ac34edd7..35ea53130 100644 --- a/src/public/js/pages/settings.js +++ b/src/public/js/pages/settings.js @@ -18,7 +18,7 @@ define('pages/settings', [ 'modules/helpers', 'history' -], function($, _, helpers) { +], function($) { var settingsPage = {}; settingsPage.init = function() { diff --git a/src/public/js/pages/singleTicket.js b/src/public/js/pages/singleTicket.js index e2ebe063b..50a87804c 100644 --- a/src/public/js/pages/singleTicket.js +++ b/src/public/js/pages/singleTicket.js @@ -22,6 +22,8 @@ define('pages/singleTicket', [ var st = {}; st.init = function() { $(document).ready(function() { + socketClient.chat.updateOnlineBubbles(); + $('.remove-attachment').each(function() { var self = $(this); self.off('click', onRemoveAttachmentClick); @@ -100,7 +102,7 @@ define('pages/singleTicket', [ $.ajax({ url: '/api/v1/tickets/' + ticketId + '/attachments/remove/' + attachmentId, type: 'DELETE', - success: function(res) { + success: function() { socketClient.ui.refreshTicketAttachments(ticketId); }, error: function(err) { @@ -151,7 +153,7 @@ define('pages/singleTicket', [ } } - function onEditIssueClick(e) { + function onEditIssueClick() { var issueForm = $('.edit-issue-form'); var issueText = $('.initial-issue').find('.issue-text').find('.issue-body'); diff --git a/src/public/js/pages/tickets.js b/src/public/js/pages/tickets.js index cc5afc177..cf95c5771 100644 --- a/src/public/js/pages/tickets.js +++ b/src/public/js/pages/tickets.js @@ -133,7 +133,7 @@ define('pages/tickets', [ helpers.resizeAll(); - $('#ticketTable tbody').on('click', 'td', function(e) { + $('#ticketTable tbody').on('click', 'td', function() { var i = $(this).parents('tr').attr('data-ticket'); var j = $(this).find('input[type=checkbox]'); if ($(j).length !== 0) diff --git a/src/public/js/plugins/autogrow.js b/src/public/js/plugins/autogrow.js index 55317b30c..721375b41 100644 --- a/src/public/js/plugins/autogrow.js +++ b/src/public/js/plugins/autogrow.js @@ -12,7 +12,8 @@ { var self = this; var $self = $(self); - var minHeight = $self.height(); + //var minHeight = $self.height(); + var minHeight = 16; var noFlickerPad = $self.hasClass('autogrow-short') ? 0 : parseInt($self.css('lineHeight')) || 0; var settings = $.extend({ preGrowCallback: null, diff --git a/src/public/js/plugins/snackbar.css b/src/public/js/plugins/snackbar.css index eecbab3a5..fa0a9385c 100644 --- a/src/public/js/plugins/snackbar.css +++ b/src/public/js/plugins/snackbar.css @@ -15,7 +15,7 @@ bottom: 0; top: 0; opacity: 0; - z-index: 9999; + z-index: 999999; } .snackbar-container .action { background: inherit; diff --git a/src/public/js/truRequire.js b/src/public/js/truRequire.js new file mode 100644 index 000000000..968aa9a2f --- /dev/null +++ b/src/public/js/truRequire.js @@ -0,0 +1,19 @@ +//This gets loaded for accessing require from outside Webpack bundle. +var allMods = { + jquery: function() { return require('jquery'); }, + snackbar: function() { return require('snackbar'); }, + underscore: function() { return require('underscore'); }, + helpers: function() { return require('modules/helpers'); }, + datatables: function() { return require('datatables'); }, + dt_ipaddress: function() { return require('dt_ipaddress'); }, + dt_scroller: function() { return require('dt_scroller'); }, + uikit: function() { return require('uikit'); } +}; + +module.exports = function (modules, cb) { + var loadedModules = modules.map(function(x) { + return allMods[x](); + }); + + cb(loadedModules); +}; \ No newline at end of file diff --git a/src/public/js/vendor/angular/angular-cookies.min.js b/src/public/js/vendor/angular/angular-cookies.min.js new file mode 100644 index 000000000..08a1bb215 --- /dev/null +++ b/src/public/js/vendor/angular/angular-cookies.min.js @@ -0,0 +1,8 @@ +/* + AngularJS v1.4.7 + (c) 2010-2015 Google, Inc. http://angularjs.org + License: MIT + */ +(function(p,c,n){'use strict';function l(b,a,g){var d=g.baseHref(),k=b[0];return function(b,e,f){var g,h;f=f||{};h=f.expires;g=c.isDefined(f.path)?f.path:d;c.isUndefined(e)&&(h="Thu, 01 Jan 1970 00:00:00 GMT",e="");c.isString(h)&&(h=new Date(h));e=encodeURIComponent(b)+"="+encodeURIComponent(e);e=e+(g?";path="+g:"")+(f.domain?";domain="+f.domain:"");e+=h?";expires="+h.toUTCString():"";e+=f.secure?";secure":"";f=e.length+1;4096 4096 bytes)!");k.cookie=e}}c.module("ngCookies",["ng"]).provider("$cookies",[function(){var b=this.defaults={};this.$get=["$$cookieReader","$$cookieWriter",function(a,g){return{get:function(d){return a()[d]},getObject:function(d){return(d=this.get(d))?c.fromJson(d):d},getAll:function(){return a()},put:function(d,a,m){g(d,a,m?c.extend({},b,m):b)},putObject:function(d,b,a){this.put(d,c.toJson(b),a)},remove:function(a,k){g(a,n,k?c.extend({},b,k):b)}}}]}]);c.module("ngCookies").factory("$cookieStore", + ["$cookies",function(b){return{get:function(a){return b.getObject(a)},put:function(a,c){b.putObject(a,c)},remove:function(a){b.remove(a)}}}]);l.$inject=["$document","$log","$browser"];c.module("ngCookies").provider("$$cookieWriter",function(){this.$get=l})})(window,window.angular); \ No newline at end of file diff --git a/src/public/js/vendor/angular/angular-route.min.js b/src/public/js/vendor/angular/angular-route.min.js new file mode 100644 index 000000000..997796aca --- /dev/null +++ b/src/public/js/vendor/angular/angular-route.min.js @@ -0,0 +1,14 @@ +/* + AngularJS v1.4.7 + (c) 2010-2015 Google, Inc. http://angularjs.org + License: MIT + */ +(function(p,c,C){'use strict';function v(r,h,g){return{restrict:"ECA",terminal:!0,priority:400,transclude:"element",link:function(a,f,b,d,y){function z(){k&&(g.cancel(k),k=null);l&&(l.$destroy(),l=null);m&&(k=g.leave(m),k.then(function(){k=null}),m=null)}function x(){var b=r.current&&r.current.locals;if(c.isDefined(b&&b.$template)){var b=a.$new(),d=r.current;m=y(b,function(b){g.enter(b,null,m||f).then(function(){!c.isDefined(t)||t&&!a.$eval(t)||h()});z()});l=d.scope=b;l.$emit("$viewContentLoaded"); + l.$eval(w)}else z()}var l,m,k,t=b.autoscroll,w=b.onload||"";a.$on("$routeChangeSuccess",x);x()}}}function A(c,h,g){return{restrict:"ECA",priority:-400,link:function(a,f){var b=g.current,d=b.locals;f.html(d.$template);var y=c(f.contents());b.controller&&(d.$scope=a,d=h(b.controller,d),b.controllerAs&&(a[b.controllerAs]=d),f.data("$ngControllerController",d),f.children().data("$ngControllerController",d));y(a)}}}p=c.module("ngRoute",["ng"]).provider("$route",function(){function r(a,f){return c.extend(Object.create(a), + f)}function h(a,c){var b=c.caseInsensitiveMatch,d={originalPath:a,regexp:a},g=d.keys=[];a=a.replace(/([().])/g,"\\$1").replace(/(\/)?:(\w+)([\?\*])?/g,function(a,c,b,d){a="?"===d?d:null;d="*"===d?d:null;g.push({name:b,optional:!!a});c=c||"";return""+(a?"":c)+"(?:"+(a?c:"")+(d&&"(.+?)"||"([^/]+)")+(a||"")+")"+(a||"")}).replace(/([\/$\*])/g,"\\$1");d.regexp=new RegExp("^"+a+"$",b?"i":"");return d}var g={};this.when=function(a,f){var b=c.copy(f);c.isUndefined(b.reloadOnSearch)&&(b.reloadOnSearch=!0); + c.isUndefined(b.caseInsensitiveMatch)&&(b.caseInsensitiveMatch=this.caseInsensitiveMatch);g[a]=c.extend(b,a&&h(a,b));if(a){var d="/"==a[a.length-1]?a.substr(0,a.length-1):a+"/";g[d]=c.extend({redirectTo:a},h(d,b))}return this};this.caseInsensitiveMatch=!1;this.otherwise=function(a){"string"===typeof a&&(a={redirectTo:a});this.when(null,a);return this};this.$get=["$rootScope","$location","$routeParams","$q","$injector","$templateRequest","$sce",function(a,f,b,d,h,p,x){function l(b){var e=s.current; + (v=(n=k())&&e&&n.$$route===e.$$route&&c.equals(n.pathParams,e.pathParams)&&!n.reloadOnSearch&&!w)||!e&&!n||a.$broadcast("$routeChangeStart",n,e).defaultPrevented&&b&&b.preventDefault()}function m(){var u=s.current,e=n;if(v)u.params=e.params,c.copy(u.params,b),a.$broadcast("$routeUpdate",u);else if(e||u)w=!1,(s.current=e)&&e.redirectTo&&(c.isString(e.redirectTo)?f.path(t(e.redirectTo,e.params)).search(e.params).replace():f.url(e.redirectTo(e.pathParams,f.path(),f.search())).replace()),d.when(e).then(function(){if(e){var a= + c.extend({},e.resolve),b,f;c.forEach(a,function(b,e){a[e]=c.isString(b)?h.get(b):h.invoke(b,null,null,e)});c.isDefined(b=e.template)?c.isFunction(b)&&(b=b(e.params)):c.isDefined(f=e.templateUrl)&&(c.isFunction(f)&&(f=f(e.params)),c.isDefined(f)&&(e.loadedTemplateUrl=x.valueOf(f),b=p(f)));c.isDefined(b)&&(a.$template=b);return d.all(a)}}).then(function(f){e==s.current&&(e&&(e.locals=f,c.copy(e.params,b)),a.$broadcast("$routeChangeSuccess",e,u))},function(b){e==s.current&&a.$broadcast("$routeChangeError", + e,u,b)})}function k(){var a,b;c.forEach(g,function(d,g){var q;if(q=!b){var h=f.path();q=d.keys;var l={};if(d.regexp)if(h=d.regexp.exec(h)){for(var k=1,m=h.length;k=c;d--)f.end&&f.end(e[d]);e.length=c}}"string"!==typeof a&&(a=null===a||"undefined"===typeof a?"":""+a);var b,k,e=[],m=a,l;for(e.last=function(){return e[e.length-1]};a;){l="";k=!0;if(e.last()&&w[e.last()])a=a.replace(new RegExp("([\\W\\w]*)<\\s*\\/\\s*"+e.last()+"[^>]*>","i"),function(a,b){b=b.replace(H,"$1").replace(I,"$1");f.chars&&f.chars(q(b));return""}),c("",e.last());else{if(0===a.indexOf("\x3c!--"))b=a.indexOf("--",4),0<=b&&a.lastIndexOf("--\x3e", + b)===b&&(f.comment&&f.comment(a.substring(4,b)),a=a.substring(b+3),k=!1);else if(x.test(a)){if(b=a.match(x))a=a.replace(b[0],""),k=!1}else if(J.test(a)){if(b=a.match(y))a=a.substring(b[0].length),b[0].replace(y,c),k=!1}else K.test(a)&&((b=a.match(z))?(b[4]&&(a=a.substring(b[0].length),b[0].replace(z,d)),k=!1):(l+="<",a=a.substring(1)));k&&(b=a.indexOf("<"),l+=0>b?a:a.substring(0,b),a=0>b?"":a.substring(b),f.chars&&f.chars(q(l)))}if(a==m)throw L("badparse",a);m=a}c()}function q(a){if(!a)return"";A.innerHTML= + a.replace(//g,">")}function r(a,f){var d=!1,c=h.bind(a,a.push);return{start:function(a,k,e){a=h.lowercase(a);!d&&w[a]&&(d=a);d||!0!==C[a]||(c("<"),c(a),h.forEach(k,function(d,e){var k=h.lowercase(e),g="img"===a&&"src"===k|| + "background"===k;!0!==O[k]||!0===D[k]&&!f(d,g)||(c(" "),c(e),c('="'),c(B(d)),c('"'))}),c(e?"/>":">"))},end:function(a){a=h.lowercase(a);d||!0!==C[a]||(c(""));a==d&&(d=!1)},chars:function(a){d||c(B(a))}}}var L=h.$$minErr("$sanitize"),z=/^<((?:[a-zA-Z])[\w:-]*)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*(>?)/,y=/^<\/\s*([\w:-]+)[^>]*>/,G=/([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g,K=/^]*?)>/i, + I=/"\u201d\u2019]/i,d=/^mailto:/i;return function(c,b){function k(a){a&&g.push(E(a))}function e(a, + c){g.push("');k(c);g.push("")}if(!c)return c;for(var m,l=c,g=[],n,p;m=l.match(f);)n=m[0],m[2]||m[4]||(n=(m[3]?"http://":"mailto:")+n),p=m.index,k(l.substr(0,p)),e(n,m[0].replace(d,"")),l=l.substring(p+m[0].length);k(l);return a(g.join(""))}}])})(window,window.angular); \ No newline at end of file diff --git a/src/public/js/vendor/angular/angular.min.js b/src/public/js/vendor/angular/angular.min.js new file mode 100644 index 000000000..4fc08415d --- /dev/null +++ b/src/public/js/vendor/angular/angular.min.js @@ -0,0 +1,293 @@ +/* + AngularJS v1.4.7 + (c) 2010-2015 Google, Inc. http://angularjs.org + License: MIT + */ +(function(Q,X,w){'use strict';function I(b){return function(){var a=arguments[0],c;c="["+(b?b+":":"")+a+"] http://errors.angularjs.org/1.4.7/"+(b?b+"/":"")+a;for(a=1;a").append(b).html();try{return b[0].nodeType===Pa?F(c):c.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(a,b){return"<"+F(b)})}catch(d){return F(c)}}function xc(b){try{return decodeURIComponent(b)}catch(a){}} + function yc(b){var a={};m((b||"").split("&"),function(b){var d,e,f;b&&(e=b=b.replace(/\+/g,"%20"),d=b.indexOf("="),-1!==d&&(e=b.substring(0,d),f=b.substring(d+1)),e=xc(e),A(e)&&(f=A(f)?xc(f):!0,ta.call(a,e)?J(a[e])?a[e].push(f):a[e]=[a[e],f]:a[e]=f))});return a}function Pb(b){var a=[];m(b,function(b,d){J(b)?m(b,function(b){a.push(la(d,!0)+(!0===b?"":"="+la(b,!0)))}):a.push(la(d,!0)+(!0===b?"":"="+la(b,!0)))});return a.length?a.join("&"):""}function ob(b){return la(b,!0).replace(/%26/gi,"&").replace(/%3D/gi, + "=").replace(/%2B/gi,"+")}function la(b,a){return encodeURIComponent(b).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,a?"%20":"+")}function Yd(b,a){var c,d,e=Qa.length;for(d=0;d/,">"));}a=a||[];a.unshift(["$provide",function(a){a.value("$rootElement",b)}]);c.debugInfoEnabled&&a.push(["$compileProvider",function(a){a.debugInfoEnabled(!0)}]);a.unshift("ng");d=fb(a,c.strictDi);d.invoke(["$rootScope", + "$rootElement","$compile","$injector",function(a,b,c,d){a.$apply(function(){b.data("$injector",d);c(b)(a)})}]);return d},e=/^NG_ENABLE_DEBUG_INFO!/,f=/^NG_DEFER_BOOTSTRAP!/;Q&&e.test(Q.name)&&(c.debugInfoEnabled=!0,Q.name=Q.name.replace(e,""));if(Q&&!f.test(Q.name))return d();Q.name=Q.name.replace(f,"");da.resumeBootstrap=function(b){m(b,function(b){a.push(b)});return d()};x(da.resumeDeferredBootstrap)&&da.resumeDeferredBootstrap()}function $d(){Q.name="NG_ENABLE_DEBUG_INFO!"+Q.name;Q.location.reload()} + function ae(b){b=da.element(b).injector();if(!b)throw Ea("test");return b.get("$$testability")}function Ac(b,a){a=a||"_";return b.replace(be,function(b,d){return(d?a:"")+b.toLowerCase()})}function ce(){var b;if(!Bc){var a=pb();(ra=v(a)?Q.jQuery:a?Q[a]:w)&&ra.fn.on?(B=ra,P(ra.fn,{scope:Ra.scope,isolateScope:Ra.isolateScope,controller:Ra.controller,injector:Ra.injector,inheritedData:Ra.inheritedData}),b=ra.cleanData,ra.cleanData=function(a){var d;if(Qb)Qb=!1;else for(var e=0,f;null!=(f=a[e]);e++)(d= + ra._data(f,"events"))&&d.$destroy&&ra(f).triggerHandler("$destroy");b(a)}):B=R;da.element=B;Bc=!0}}function qb(b,a,c){if(!b)throw Ea("areq",a||"?",c||"required");return b}function Sa(b,a,c){c&&J(b)&&(b=b[b.length-1]);qb(x(b),a,"not a function, got "+(b&&"object"===typeof b?b.constructor.name||"Object":typeof b));return b}function Ta(b,a){if("hasOwnProperty"===b)throw Ea("badname",a);}function Cc(b,a,c){if(!a)return b;a=a.split(".");for(var d,e=b,f=a.length,h=0;h")+d[2];for(d=d[0];d--;)c=c.lastChild;f=db(f,c.childNodes);c=e.firstChild;c.textContent=""}else f.push(a.createTextNode(b));e.textContent="";e.innerHTML="";m(f,function(a){e.appendChild(a)});return e}function R(b){if(b instanceof R)return b;var a;G(b)&&(b=T(b), + a=!0);if(!(this instanceof R)){if(a&&"<"!=b.charAt(0))throw Tb("nosel");return new R(b)}if(a){a=X;var c;b=(c=Ef.exec(b))?[a.createElement(c[1])]:(c=Mc(b,a))?c.childNodes:[]}Nc(this,b)}function Ub(b){return b.cloneNode(!0)}function ub(b,a){a||vb(b);if(b.querySelectorAll)for(var c=b.querySelectorAll("*"),d=0,e=c.length;dk&&this.remove(r.key);return b}},get:function(a){if(k").parent()[0])});var f= + S(a,b,a,c,d,e);W.$$addScopeClass(a);var g=null;return function(b,c,d){qb(b,"scope");d=d||{};var e=d.parentBoundTranscludeFn,h=d.transcludeControllers;d=d.futureParentElement;e&&e.$$boundTransclude&&(e=e.$$boundTransclude);g||(g=(d=d&&d[0])?"foreignobject"!==wa(d)&&d.toString().match(/SVG/)?"svg":"html":"html");d="html"!==g?B(Xb(g,B("
    ").append(a).html())):c?Ra.clone.call(a):a;if(h)for(var k in h)d.data("$"+k+"Controller",h[k].instance);W.$$addScopeInfo(d,b);c&&c(d,b);f&&f(b,d,d,e);return d}}function S(a, + b,c,d,e,f){function g(a,c,d,e){var f,k,l,r,n,t,O;if(q)for(O=Array(c.length),r=0;rD.priority)break;if(M=D.scope)D.templateUrl||(C(M)?(Q("new/isolated scope", + u||S,D,v),u=D):Q("new/isolated scope",u,D,v)),S=S||D;y=D.name;!D.templateUrl&&D.controller&&(M=D.controller,ba=ba||fa(),Q("'"+y+"' controller",ba[y],D,v),ba[y]=D);if(M=D.transclude)N=!0,D.$$tlb||(Q("transclusion",z,D,v),z=D),"element"==M?(ia=!0,H=D.priority,M=v,v=d.$$element=B(X.createComment(" "+y+": "+d[y]+" ")),b=v[0],U(f,ua.call(M,0),b),Ka=W(M,e,H,g&&g.name,{nonTlbTranscludeDirective:z})):(M=B(Ub(b)).contents(),v.empty(),Ka=W(M,e));if(D.template)if(m=!0,Q("template",L,D,v),L=D,M=x(D.template)? + D.template(v,d):D.template,M=ha(M),D.replace){g=D;M=Sb.test(M)?Xc(Xb(D.templateNamespace,T(M))):[];b=M[0];if(1!=M.length||b.nodeType!==pa)throw ga("tplrt",y,"");U(f,v,b);F={$attr:{}};M=ca(b,[],F);var Lf=a.splice(I+1,a.length-(I+1));u&&A(M);a=a.concat(M).concat(Lf);Yc(d,F);F=a.length}else v.html(M);if(D.templateUrl)m=!0,Q("template",L,D,v),L=D,D.replace&&(g=D),K=Mf(a.splice(I,a.length-I),v,d,f,N&&Ka,h,k,{controllerDirectives:ba,newScopeDirective:S!==D&&S,newIsolateScopeDirective:u,templateDirective:L, + nonTlbTranscludeDirective:z}),F=a.length;else if(D.compile)try{na=D.compile(v,d,Ka),x(na)?n(null,na,P,R):na&&n(na.pre,na.post,P,R)}catch(V){c(V,xa(v))}D.terminal&&(K.terminal=!0,H=Math.max(H,D.priority))}K.scope=S&&!0===S.scope;K.transcludeOnThisElement=N;K.templateOnThisElement=m;K.transclude=Ka;r.hasElementTranscludeDirective=ia;return K}function A(a){for(var b=0,c=a.length;bn.priority)&&-1!=n.restrict.indexOf(f)&&(k&&(n=Nb(n,{$$start:k,$$end:l})),b.push(n),h=n)}catch(H){c(H)}}return h}function I(b){if(e.hasOwnProperty(b))for(var c=a.get(b+"Directive"),d=0,f=c.length;d"+b+"";return c.childNodes[0].childNodes;default:return b}}function R(a,b){if("srcdoc"==b)return ia.HTML;var c=wa(a);if("xlinkHref"==b||"form"==c&&"action"==b||"img"!=c&&("src"==b|| + "ngSrc"==b))return ia.RESOURCE_URL}function V(a,c,d,e,f){var h=R(a,e);f=g[e]||f;var l=b(d,!0,h,f);if(l){if("multiple"===e&&"select"===wa(a))throw ga("selmulti",xa(a));c.push({priority:100,compile:function(){return{pre:function(a,c,g){c=g.$$observers||(g.$$observers=fa());if(k.test(e))throw ga("nodomevents");var r=g[e];r!==d&&(l=r&&b(r,!0,h,f),d=r);l&&(g[e]=l(a),(c[e]||(c[e]=[])).$$inter=!0,(g.$$observers&&g.$$observers[e].$$scope||a).$watch(l,function(a,b){"class"===e&&a!=b?g.$updateClass(a,b):g.$set(e, + a)}))}}}})}}function U(a,b,c){var d=b[0],e=b.length,f=d.parentNode,g,h;if(a)for(g=0,h=a.length;g=a)return b;for(;a--;)8===b[a].nodeType&&Nf.call(b,a,1);return b}function Xe(){var b={},a=!1;this.register=function(a,d){Ta(a,"controller");C(a)?P(b,a):b[a]=d};this.allowGlobals=function(){a=!0};this.$get=["$injector","$window",function(c,d){function e(a,b,c,d){if(!a||!C(a.$scope))throw I("$controller")("noscp",d,b);a.$scope[b]=c}return function(f,h,g,l){var k,n,p;g=!0===g;l&&G(l)&&(p=l);if(G(f)){l=f.match(Vc);if(!l)throw Of("ctrlfmt",f); + n=l[1];p=p||l[3];f=b.hasOwnProperty(n)?b[n]:Cc(h.$scope,n,!0)||(a?Cc(d,n,!0):w);Sa(f,n,!0)}if(g)return g=(J(f)?f[f.length-1]:f).prototype,k=Object.create(g||null),p&&e(h,p,k,n||f.name),P(function(){var a=c.invoke(f,k,h,n);a!==k&&(C(a)||x(a))&&(k=a,p&&e(h,p,k,n||f.name));return k},{instance:k,identifier:p});k=c.instantiate(f,h,n);p&&e(h,p,k,n||f.name);return k}}]}function Ye(){this.$get=["$window",function(b){return B(b.document)}]}function Ze(){this.$get=["$log",function(b){return function(a,c){b.error.apply(b, + arguments)}}]}function Yb(b){return C(b)?ea(b)?b.toISOString():eb(b):b}function df(){this.$get=function(){return function(b){if(!b)return"";var a=[];nc(b,function(b,d){null===b||v(b)||(J(b)?m(b,function(b,c){a.push(la(d)+"="+la(Yb(b)))}):a.push(la(d)+"="+la(Yb(b))))});return a.join("&")}}}function ef(){this.$get=function(){return function(b){function a(b,e,f){null===b||v(b)||(J(b)?m(b,function(b,c){a(b,e+"["+(C(b)?c:"")+"]")}):C(b)&&!ea(b)?nc(b,function(b,c){a(b,e+(f?"":"[")+c+(f?"":"]"))}):c.push(la(e)+ + "="+la(Yb(b))))}if(!b)return"";var c=[];a(b,"",!0);return c.join("&")}}}function Zb(b,a){if(G(b)){var c=b.replace(Pf,"").trim();if(c){var d=a("Content-Type");(d=d&&0===d.indexOf(ad))||(d=(d=c.match(Qf))&&Rf[d[0]].test(c));d&&(b=vc(c))}}return b}function bd(b){var a=fa(),c;G(b)?m(b.split("\n"),function(b){c=b.indexOf(":");var e=F(T(b.substr(0,c)));b=T(b.substr(c+1));e&&(a[e]=a[e]?a[e]+", "+b:b)}):C(b)&&m(b,function(b,c){var f=F(c),h=T(b);f&&(a[f]=a[f]?a[f]+", "+h:h)});return a}function cd(b){var a; + return function(c){a||(a=bd(b));return c?(c=a[F(c)],void 0===c&&(c=null),c):a}}function dd(b,a,c,d){if(x(d))return d(b,a,c);m(d,function(d){b=d(b,a,c)});return b}function cf(){var b=this.defaults={transformResponse:[Zb],transformRequest:[function(a){return C(a)&&"[object File]"!==va.call(a)&&"[object Blob]"!==va.call(a)&&"[object FormData]"!==va.call(a)?eb(a):a}],headers:{common:{Accept:"application/json, text/plain, */*"},post:ja($b),put:ja($b),patch:ja($b)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN", + paramSerializer:"$httpParamSerializer"},a=!1;this.useApplyAsync=function(b){return A(b)?(a=!!b,this):a};var c=!0;this.useLegacyPromiseExtensions=function(a){return A(a)?(c=!!a,this):c};var d=this.interceptors=[];this.$get=["$httpBackend","$$cookieReader","$cacheFactory","$rootScope","$q","$injector",function(e,f,h,g,l,k){function n(a){function d(a){var b=P({},a);b.data=a.data?dd(a.data,a.headers,a.status,f.transformResponse):a.data;a=a.status;return 200<=a&&300>a?b:l.reject(b)}function e(a,b){var c, + d={};m(a,function(a,e){x(a)?(c=a(b),null!=c&&(d[e]=c)):d[e]=a});return d}if(!da.isObject(a))throw I("$http")("badreq",a);var f=P({method:"get",transformRequest:b.transformRequest,transformResponse:b.transformResponse,paramSerializer:b.paramSerializer},a);f.headers=function(a){var c=b.headers,d=P({},a.headers),f,g,h,c=P({},c.common,c[F(a.method)]);a:for(f in c){g=F(f);for(h in d)if(F(h)===g)continue a;d[f]=c[f]}return e(d,ja(a))}(a);f.method=sb(f.method);f.paramSerializer=G(f.paramSerializer)?k.get(f.paramSerializer): + f.paramSerializer;var g=[function(a){var c=a.headers,e=dd(a.data,cd(c),w,a.transformRequest);v(e)&&m(c,function(a,b){"content-type"===F(b)&&delete c[b]});v(a.withCredentials)&&!v(b.withCredentials)&&(a.withCredentials=b.withCredentials);return p(a,e).then(d,d)},w],h=l.when(f);for(m(E,function(a){(a.request||a.requestError)&&g.unshift(a.request,a.requestError);(a.response||a.responseError)&&g.push(a.response,a.responseError)});g.length;){a=g.shift();var r=g.shift(),h=h.then(a,r)}c?(h.success=function(a){Sa(a, + "fn");h.then(function(b){a(b.data,b.status,b.headers,f)});return h},h.error=function(a){Sa(a,"fn");h.then(null,function(b){a(b.data,b.status,b.headers,f)});return h}):(h.success=ed("success"),h.error=ed("error"));return h}function p(c,d){function h(b,c,d,e){function f(){k(c,b,d,e)}L&&(200<=b&&300>b?L.put(ba,[b,c,bd(d),e]):L.remove(ba));a?g.$applyAsync(f):(f(),g.$$phase||g.$apply())}function k(a,b,d,e){b=-1<=b?b:0;(200<=b&&300>b?O.resolve:O.reject)({data:a,status:b,headers:cd(d),config:c,statusText:e})} + function p(a){k(a.data,a.status,ja(a.headers()),a.statusText)}function E(){var a=n.pendingRequests.indexOf(c);-1!==a&&n.pendingRequests.splice(a,1)}var O=l.defer(),H=O.promise,L,m,S=c.headers,ba=r(c.url,c.paramSerializer(c.params));n.pendingRequests.push(c);H.then(E,E);!c.cache&&!b.cache||!1===c.cache||"GET"!==c.method&&"JSONP"!==c.method||(L=C(c.cache)?c.cache:C(b.cache)?b.cache:t);L&&(m=L.get(ba),A(m)?m&&x(m.then)?m.then(p,p):J(m)?k(m[1],m[0],ja(m[2]),m[3]):k(m,200,{},"OK"):L.put(ba,H));v(m)&&((m= + fd(c.url)?f()[c.xsrfCookieName||b.xsrfCookieName]:w)&&(S[c.xsrfHeaderName||b.xsrfHeaderName]=m),e(c.method,ba,d,h,S,c.timeout,c.withCredentials,c.responseType));return H}function r(a,b){0=l&&(u.resolve(E), + t(q.$$intervalId),delete f[q.$$intervalId]);K||b.$apply()},g);f[q.$$intervalId]=u;return q}var f={};e.cancel=function(b){return b&&b.$$intervalId in f?(f[b.$$intervalId].reject("canceled"),a.clearInterval(b.$$intervalId),delete f[b.$$intervalId],!0):!1};return e}]}function ac(b){b=b.split("/");for(var a=b.length;a--;)b[a]=ob(b[a]);return b.join("/")}function gd(b,a){var c=Aa(b);a.$$protocol=c.protocol;a.$$host=c.hostname;a.$$port=Y(c.port)||Tf[c.protocol]||null}function hd(b,a){var c="/"!==b.charAt(0); + c&&(b="/"+b);var d=Aa(b);a.$$path=decodeURIComponent(c&&"/"===d.pathname.charAt(0)?d.pathname.substring(1):d.pathname);a.$$search=yc(d.search);a.$$hash=decodeURIComponent(d.hash);a.$$path&&"/"!=a.$$path.charAt(0)&&(a.$$path="/"+a.$$path)}function sa(b,a){if(0===a.indexOf(b))return a.substr(b.length)}function Ja(b){var a=b.indexOf("#");return-1==a?b:b.substr(0,a)}function Cb(b){return b.replace(/(#.+)|#$/,"$1")}function bc(b,a,c){this.$$html5=!0;c=c||"";gd(b,this);this.$$parse=function(b){var c=sa(a, + b);if(!G(c))throw Db("ipthprfx",b,a);hd(c,this);this.$$path||(this.$$path="/");this.$$compose()};this.$$compose=function(){var b=Pb(this.$$search),c=this.$$hash?"#"+ob(this.$$hash):"";this.$$url=ac(this.$$path)+(b?"?"+b:"")+c;this.$$absUrl=a+this.$$url.substr(1)};this.$$parseLinkUrl=function(d,e){if(e&&"#"===e[0])return this.hash(e.slice(1)),!0;var f,h;A(f=sa(b,d))?(h=f,h=A(f=sa(c,f))?a+(sa("/",f)||f):b+h):A(f=sa(a,d))?h=a+f:a==d+"/"&&(h=a);h&&this.$$parse(h);return!!h}}function cc(b,a,c){gd(b,this); + this.$$parse=function(d){var e=sa(b,d)||sa(a,d),f;v(e)||"#"!==e.charAt(0)?this.$$html5?f=e:(f="",v(e)&&(b=d,this.replace())):(f=sa(c,e),v(f)&&(f=e));hd(f,this);d=this.$$path;var e=b,h=/^\/[A-Z]:(\/.*)/;0===f.indexOf(e)&&(f=f.replace(e,""));h.exec(f)||(d=(f=h.exec(d))?f[1]:d);this.$$path=d;this.$$compose()};this.$$compose=function(){var a=Pb(this.$$search),e=this.$$hash?"#"+ob(this.$$hash):"";this.$$url=ac(this.$$path)+(a?"?"+a:"")+e;this.$$absUrl=b+(this.$$url?c+this.$$url:"")};this.$$parseLinkUrl= + function(a,c){return Ja(b)==Ja(a)?(this.$$parse(a),!0):!1}}function id(b,a,c){this.$$html5=!0;cc.apply(this,arguments);this.$$parseLinkUrl=function(d,e){if(e&&"#"===e[0])return this.hash(e.slice(1)),!0;var f,h;b==Ja(d)?f=d:(h=sa(a,d))?f=b+c+h:a===d+"/"&&(f=a);f&&this.$$parse(f);return!!f};this.$$compose=function(){var a=Pb(this.$$search),e=this.$$hash?"#"+ob(this.$$hash):"";this.$$url=ac(this.$$path)+(a?"?"+a:"")+e;this.$$absUrl=b+c+this.$$url}}function Eb(b){return function(){return this[b]}}function jd(b, + a){return function(c){if(v(c))return this[b];this[b]=a(c);this.$$compose();return this}}function hf(){var b="",a={enabled:!1,requireBase:!0,rewriteLinks:!0};this.hashPrefix=function(a){return A(a)?(b=a,this):b};this.html5Mode=function(b){return bb(b)?(a.enabled=b,this):C(b)?(bb(b.enabled)&&(a.enabled=b.enabled),bb(b.requireBase)&&(a.requireBase=b.requireBase),bb(b.rewriteLinks)&&(a.rewriteLinks=b.rewriteLinks),this):a};this.$get=["$rootScope","$browser","$sniffer","$rootElement","$window",function(c, + d,e,f,h){function g(a,b,c){var e=k.url(),f=k.$$state;try{d.url(a,b,c),k.$$state=d.state()}catch(g){throw k.url(e),k.$$state=f,g;}}function l(a,b){c.$broadcast("$locationChangeSuccess",k.absUrl(),a,k.$$state,b)}var k,n;n=d.baseHref();var p=d.url(),r;if(a.enabled){if(!n&&a.requireBase)throw Db("nobase");r=p.substring(0,p.indexOf("/",p.indexOf("//")+2))+(n||"/");n=e.history?bc:id}else r=Ja(p),n=cc;var t=r.substr(0,Ja(r).lastIndexOf("/")+1);k=new n(r,t,"#"+b);k.$$parseLinkUrl(p,p);k.$$state=d.state(); + var E=/^\s*(javascript|mailto):/i;f.on("click",function(b){if(a.rewriteLinks&&!b.ctrlKey&&!b.metaKey&&!b.shiftKey&&2!=b.which&&2!=b.button){for(var e=B(b.target);"a"!==wa(e[0]);)if(e[0]===f[0]||!(e=e.parent())[0])return;var g=e.prop("href"),l=e.attr("href")||e.attr("xlink:href");C(g)&&"[object SVGAnimatedString]"===g.toString()&&(g=Aa(g.animVal).href);E.test(g)||!g||e.attr("target")||b.isDefaultPrevented()||!k.$$parseLinkUrl(g,l)||(b.preventDefault(),k.absUrl()!=d.url()&&(c.$apply(),h.angular["ff-684208-preventDefault"]= + !0))}});Cb(k.absUrl())!=Cb(p)&&d.url(k.absUrl(),!0);var K=!0;d.onUrlChange(function(a,b){v(sa(t,a))?h.location.href=a:(c.$evalAsync(function(){var d=k.absUrl(),e=k.$$state,f;k.$$parse(a);k.$$state=b;f=c.$broadcast("$locationChangeStart",a,d,b,e).defaultPrevented;k.absUrl()===a&&(f?(k.$$parse(d),k.$$state=e,g(d,!1,e)):(K=!1,l(d,e)))}),c.$$phase||c.$digest())});c.$watch(function(){var a=Cb(d.url()),b=Cb(k.absUrl()),f=d.state(),h=k.$$replace,r=a!==b||k.$$html5&&e.history&&f!==k.$$state;if(K||r)K=!1, + c.$evalAsync(function(){var b=k.absUrl(),d=c.$broadcast("$locationChangeStart",b,a,k.$$state,f).defaultPrevented;k.absUrl()===b&&(d?(k.$$parse(a),k.$$state=f):(r&&g(b,h,f===k.$$state?null:k.$$state),l(a,f)))});k.$$replace=!1});return k}]}function jf(){var b=!0,a=this;this.debugEnabled=function(a){return A(a)?(b=a,this):b};this.$get=["$window",function(c){function d(a){a instanceof Error&&(a.stack?a=a.message&&-1===a.stack.indexOf(a.message)?"Error: "+a.message+"\n"+a.stack:a.stack:a.sourceURL&&(a= + a.message+"\n"+a.sourceURL+":"+a.line));return a}function e(a){var b=c.console||{},e=b[a]||b.log||y;a=!1;try{a=!!e.apply}catch(l){}return a?function(){var a=[];m(arguments,function(b){a.push(d(b))});return e.apply(b,a)}:function(a,b){e(a,null==b?"":b)}}return{log:e("log"),info:e("info"),warn:e("warn"),error:e("error"),debug:function(){var c=e("debug");return function(){b&&c.apply(a,arguments)}}()}}]}function Xa(b,a){if("__defineGetter__"===b||"__defineSetter__"===b||"__lookupGetter__"===b||"__lookupSetter__"=== + b||"__proto__"===b)throw Z("isecfld",a);return b}function kd(b,a){b+="";if(!G(b))throw Z("iseccst",a);return b}function Ba(b,a){if(b){if(b.constructor===b)throw Z("isecfn",a);if(b.window===b)throw Z("isecwindow",a);if(b.children&&(b.nodeName||b.prop&&b.attr&&b.find))throw Z("isecdom",a);if(b===Object)throw Z("isecobj",a);}return b}function ld(b,a){if(b){if(b.constructor===b)throw Z("isecfn",a);if(b===Uf||b===Vf||b===Wf)throw Z("isecff",a);}}function md(b,a){if(b&&(b===(0).constructor||b===(!1).constructor|| + b==="".constructor||b==={}.constructor||b===[].constructor||b===Function.constructor))throw Z("isecaf",a);}function Xf(b,a){return"undefined"!==typeof b?b:a}function nd(b,a){return"undefined"===typeof b?a:"undefined"===typeof a?b:b+a}function U(b,a){var c,d;switch(b.type){case s.Program:c=!0;m(b.body,function(b){U(b.expression,a);c=c&&b.expression.constant});b.constant=c;break;case s.Literal:b.constant=!0;b.toWatch=[];break;case s.UnaryExpression:U(b.argument,a);b.constant=b.argument.constant;b.toWatch= + b.argument.toWatch;break;case s.BinaryExpression:U(b.left,a);U(b.right,a);b.constant=b.left.constant&&b.right.constant;b.toWatch=b.left.toWatch.concat(b.right.toWatch);break;case s.LogicalExpression:U(b.left,a);U(b.right,a);b.constant=b.left.constant&&b.right.constant;b.toWatch=b.constant?[]:[b];break;case s.ConditionalExpression:U(b.test,a);U(b.alternate,a);U(b.consequent,a);b.constant=b.test.constant&&b.alternate.constant&&b.consequent.constant;b.toWatch=b.constant?[]:[b];break;case s.Identifier:b.constant= + !1;b.toWatch=[b];break;case s.MemberExpression:U(b.object,a);b.computed&&U(b.property,a);b.constant=b.object.constant&&(!b.computed||b.property.constant);b.toWatch=[b];break;case s.CallExpression:c=b.filter?!a(b.callee.name).$stateful:!1;d=[];m(b.arguments,function(b){U(b,a);c=c&&b.constant;b.constant||d.push.apply(d,b.toWatch)});b.constant=c;b.toWatch=b.filter&&!a(b.callee.name).$stateful?d:[b];break;case s.AssignmentExpression:U(b.left,a);U(b.right,a);b.constant=b.left.constant&&b.right.constant; + b.toWatch=[b];break;case s.ArrayExpression:c=!0;d=[];m(b.elements,function(b){U(b,a);c=c&&b.constant;b.constant||d.push.apply(d,b.toWatch)});b.constant=c;b.toWatch=d;break;case s.ObjectExpression:c=!0;d=[];m(b.properties,function(b){U(b.value,a);c=c&&b.value.constant;b.value.constant||d.push.apply(d,b.value.toWatch)});b.constant=c;b.toWatch=d;break;case s.ThisExpression:b.constant=!1,b.toWatch=[]}}function od(b){if(1==b.length){b=b[0].expression;var a=b.toWatch;return 1!==a.length?a:a[0]!==b?a:w}} + function pd(b){return b.type===s.Identifier||b.type===s.MemberExpression}function qd(b){if(1===b.body.length&&pd(b.body[0].expression))return{type:s.AssignmentExpression,left:b.body[0].expression,right:{type:s.NGValueParameter},operator:"="}}function rd(b){return 0===b.body.length||1===b.body.length&&(b.body[0].expression.type===s.Literal||b.body[0].expression.type===s.ArrayExpression||b.body[0].expression.type===s.ObjectExpression)}function sd(b,a){this.astBuilder=b;this.$filter=a}function td(b, + a){this.astBuilder=b;this.$filter=a}function Fb(b){return"constructor"==b}function dc(b){return x(b.valueOf)?b.valueOf():Yf.call(b)}function kf(){var b=fa(),a=fa();this.$get=["$filter",function(c){function d(a,b){return null==a||null==b?a===b:"object"===typeof a&&(a=dc(a),"object"===typeof a)?!1:a===b||a!==a&&b!==b}function e(a,b,c,e,f){var g=e.inputs,h;if(1===g.length){var k=d,g=g[0];return a.$watch(function(a){var b=g(a);d(b,k)||(h=e(a,w,w,[b]),k=b&&dc(b));return h},b,c,f)}for(var l=[],n=[],p=0, + m=g.length;p=this.promise.$$state.status&&d&&d.length&&b(function(){for(var b,e,f=0,g=d.length;fa)for(b in l++,f)ta.call(e,b)||(t--,delete f[b])}else f!==e&&(f=e,l++);return l}}c.$stateful=!0;var d=this,e,f,h,k=1 + t&&(D=4-t,u[D]||(u[D]=[]),u[D].push({msg:x(b.exp)?"fn: "+(b.exp.name||b.exp.toString()):b.exp,newVal:f,oldVal:g}));else if(b===d){r=!1;break a}}catch(y){h(y)}if(!(k=m.$$watchersCount&&m.$$childHead||m!==this&&m.$$nextSibling))for(;m!==this&&!(k=m.$$nextSibling);)m=m.$parent}while(m=k);if((r||z.length)&&!t--)throw q.$$phase=null,c("infdig",a,u);}while(r||z.length);for(q.$$phase=null;N.length;)try{N.shift()()}catch(A){h(A)}},$destroy:function(){if(!this.$$destroyed){var a=this.$parent;this.$broadcast("$destroy"); + this.$$destroyed=!0;this===q&&l.$$applicationDestroyed();r(this,-this.$$watchersCount);for(var b in this.$$listenerCount)t(this,this.$$listenerCount[b],b);a&&a.$$childHead==this&&(a.$$childHead=this.$$nextSibling);a&&a.$$childTail==this&&(a.$$childTail=this.$$prevSibling);this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling);this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling);this.$destroy=this.$digest=this.$apply=this.$evalAsync=this.$applyAsync=y;this.$on= + this.$watch=this.$watchGroup=function(){return y};this.$$listeners={};this.$parent=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=this.$root=this.$$watchers=null}},$eval:function(a,b){return g(a)(this,b)},$evalAsync:function(a,b){q.$$phase||z.length||l.defer(function(){z.length&&q.$digest()});z.push({scope:this,expression:a,locals:b})},$$postDigest:function(a){N.push(a)},$apply:function(a){try{p("$apply");try{return this.$eval(a)}finally{q.$$phase=null}}catch(b){h(b)}finally{try{q.$digest()}catch(c){throw h(c), + c;}}},$applyAsync:function(a){function b(){c.$eval(a)}var c=this;a&&w.push(b);u()},$on:function(a,b){var c=this.$$listeners[a];c||(this.$$listeners[a]=c=[]);c.push(b);var d=this;do d.$$listenerCount[a]||(d.$$listenerCount[a]=0),d.$$listenerCount[a]++;while(d=d.$parent);var e=this;return function(){var d=c.indexOf(b);-1!==d&&(c[d]=null,t(e,1,a))}},$emit:function(a,b){var c=[],d,e=this,f=!1,g={name:a,targetScope:e,stopPropagation:function(){f=!0},preventDefault:function(){g.defaultPrevented=!0},defaultPrevented:!1}, + k=db([g],arguments,1),l,n;do{d=e.$$listeners[a]||c;g.currentScope=e;l=0;for(n=d.length;lWa)throw Ca("iequirks");var d=ja(oa);d.isEnabled=function(){return b};d.trustAs=c.trustAs;d.getTrusted=c.getTrusted;d.valueOf=c.valueOf;b||(d.trustAs=d.getTrusted=function(a,b){return b},d.valueOf=$a);d.parseAs=function(b,c){var e=a(c);return e.literal&&e.constant?e:a(c,function(a){return d.getTrusted(b,a)})};var e=d.parseAs,f=d.getTrusted,h=d.trustAs;m(oa,function(a,b){var c=F(b);d[gb("parse_as_"+c)]=function(b){return e(a,b)};d[gb("get_trusted_"+c)]=function(b){return f(a,b)};d[gb("trust_as_"+ + c)]=function(b){return h(a,b)}});return d}]}function qf(){this.$get=["$window","$document",function(b,a){var c={},d=Y((/android (\d+)/.exec(F((b.navigator||{}).userAgent))||[])[1]),e=/Boxee/i.test((b.navigator||{}).userAgent),f=a[0]||{},h,g=/^(Moz|webkit|ms)(?=[A-Z])/,l=f.body&&f.body.style,k=!1,n=!1;if(l){for(var p in l)if(k=g.exec(p)){h=k[0];h=h.substr(0,1).toUpperCase()+h.substr(1);break}h||(h="WebkitOpacity"in l&&"webkit");k=!!("transition"in l||h+"Transition"in l);n=!!("animation"in l||h+"Animation"in + l);!d||k&&n||(k=G(l.webkitTransition),n=G(l.webkitAnimation))}return{history:!(!b.history||!b.history.pushState||4>d||e),hasEvent:function(a){if("input"===a&&11>=Wa)return!1;if(v(c[a])){var b=f.createElement("div");c[a]="on"+a in b}return c[a]},csp:Fa(),vendorPrefix:h,transitions:k,animations:n,android:d}}]}function sf(){this.$get=["$templateCache","$http","$q","$sce",function(b,a,c,d){function e(f,h){e.totalPendingRequests++;G(f)&&b.get(f)||(f=d.getTrustedResourceUrl(f));var g=a.defaults&&a.defaults.transformResponse; + J(g)?g=g.filter(function(a){return a!==Zb}):g===Zb&&(g=null);return a.get(f,{cache:b,transformResponse:g})["finally"](function(){e.totalPendingRequests--}).then(function(a){b.put(f,a.data);return a.data},function(a){if(!h)throw ga("tpload",f,a.status,a.statusText);return c.reject(a)})}e.totalPendingRequests=0;return e}]}function tf(){this.$get=["$rootScope","$browser","$location",function(b,a,c){return{findBindings:function(a,b,c){a=a.getElementsByClassName("ng-binding");var h=[];m(a,function(a){var d= + da.element(a).data("$binding");d&&m(d,function(d){c?(new RegExp("(^|\\s)"+vd(b)+"(\\s|\\||$)")).test(d)&&h.push(a):-1!=d.indexOf(b)&&h.push(a)})});return h},findModels:function(a,b,c){for(var h=["ng-","data-ng-","ng\\:"],g=0;gb;b=Math.abs(b);var h=Infinity===b;if(!h&&!isFinite(b))return"";var g=b+"",l="",k=!1,n=[];h&&(l="\u221e");if(!h&&-1!==g.indexOf("e")){var p=g.match(/([\d\.]+)e(-?)(\d+)/);p&&"-"==p[2]&&p[3]>e+1?b=0:(l=g,k=!0)}if(h||k)0b&&(l=b.toFixed(e),b=parseFloat(l),l=l.replace(hc,d));else{h=(g.split(hc)[1]||"").length;v(e)&&(e=Math.min(Math.max(a.minFrac,h),a.maxFrac));b=+(Math.round(+(b.toString()+"e"+e)).toString()+"e"+-e);var h=(""+b).split(hc),g=h[0],h=h[1]||"",p=0, + r=a.lgSize,t=a.gSize;if(g.length>=r+t)for(p=g.length-r,k=0;kb&&(d="-",b=-b);for(b=""+b;b.length-c)e+=c;0===e&&-12==c&&(e=12);return Gb(e,a,d)}}function Hb(b,a){return function(c,d){var e=c["get"+b](),f=sb(a?"SHORT"+b:b);return d[f][e]}}function Ed(b){var a=(new Date(b,0,1)).getDay();return new Date(b,0,(4>=a?5:12)-a)}function Fd(b){return function(a){var c=Ed(a.getFullYear());a=+new Date(a.getFullYear(),a.getMonth(),a.getDate()+(4-a.getDay()))-+c;a=1+Math.round(a/6048E5);return Gb(a,b)}}function ic(b,a){return 0>=b.getFullYear()?a.ERAS[0]:a.ERAS[1]}function Ad(b){function a(a){var b;if(b= + a.match(c)){a=new Date(0);var f=0,h=0,g=b[8]?a.setUTCFullYear:a.setFullYear,l=b[8]?a.setUTCHours:a.setHours;b[9]&&(f=Y(b[9]+b[10]),h=Y(b[9]+b[11]));g.call(a,Y(b[1]),Y(b[2])-1,Y(b[3]));f=Y(b[4]||0)-f;h=Y(b[5]||0)-h;g=Y(b[6]||0);b=Math.round(1E3*parseFloat("0."+(b[7]||0)));l.call(a,f,h,g,b)}return a}var c=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(c,e,f){var h="",g=[],l,k;e=e||"mediumDate";e=b.DATETIME_FORMATS[e]||e;G(c)&&(c= + fg.test(c)?Y(c):a(c));V(c)&&(c=new Date(c));if(!ea(c)||!isFinite(c.getTime()))return c;for(;e;)(k=gg.exec(e))?(g=db(g,k,1),e=g.pop()):(g.push(e),e=null);var n=c.getTimezoneOffset();f&&(n=wc(f,c.getTimezoneOffset()),c=Ob(c,f,!0));m(g,function(a){l=hg[a];h+=l?l(c,b.DATETIME_FORMATS,n):a.replace(/(^'|'$)/g,"").replace(/''/g,"'")});return h}}function ag(){return function(b,a){v(a)&&(a=2);return eb(b,a)}}function bg(){return function(b,a,c){a=Infinity===Math.abs(Number(a))?Number(a):Y(a);if(isNaN(a))return b; + V(b)&&(b=b.toString());if(!J(b)&&!G(b))return b;c=!c||isNaN(c)?0:Y(c);c=0>c&&c>=-b.length?b.length+c:c;return 0<=a?b.slice(c,c+a):0===c?b.slice(a,b.length):b.slice(Math.max(0,c+a),c)}}function Cd(b){function a(a,c){c=c?-1:1;return a.map(function(a){var d=1,g=$a;if(x(a))g=a;else if(G(a)){if("+"==a.charAt(0)||"-"==a.charAt(0))d="-"==a.charAt(0)?-1:1,a=a.substring(1);if(""!==a&&(g=b(a),g.constant))var l=g(),g=function(a){return a[l]}}return{get:g,descending:d*c}})}function c(a){switch(typeof a){case "number":case "boolean":case "string":return!0; + default:return!1}}return function(b,e,f){if(!Da(b))return b;J(e)||(e=[e]);0===e.length&&(e=["+"]);var h=a(e,f);h.push({get:function(){return{}},descending:f?-1:1});b=Array.prototype.map.call(b,function(a,b){return{value:a,predicateValues:h.map(function(d){var e=d.get(a);d=typeof e;if(null===e)d="string",e="null";else if("string"===d)e=e.toLowerCase();else if("object"===d)a:{if("function"===typeof e.valueOf&&(e=e.valueOf(),c(e)))break a;if(qc(e)&&(e=e.toString(),c(e)))break a;e=b}return{value:e,type:d}})}}); + b.sort(function(a,b){for(var c=0,d=0,e=h.length;db||37<=b&&40>=b||n(a,this,this.value)});if(e.hasEvent("paste"))a.on("paste cut",n)}a.on("change",l);d.$render=function(){var b=d.$isEmpty(d.$viewValue)? + "":d.$viewValue;a.val()!==b&&a.val(b)}}function Kb(b,a){return function(c,d){var e,f;if(ea(c))return c;if(G(c)){'"'==c.charAt(0)&&'"'==c.charAt(c.length-1)&&(c=c.substring(1,c.length-1));if(ig.test(c))return new Date(c);b.lastIndex=0;if(e=b.exec(c))return e.shift(),f=d?{yyyy:d.getFullYear(),MM:d.getMonth()+1,dd:d.getDate(),HH:d.getHours(),mm:d.getMinutes(),ss:d.getSeconds(),sss:d.getMilliseconds()/1E3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0},m(e,function(b,c){c=s};h.$observe("min",function(a){s=r(a);g.$validate()})}if(A(h.max)||h.ngMax){var u;g.$validators.max=function(a){return!p(a)||v(u)||c(a)<=u};h.$observe("max",function(a){u=r(a);g.$validate()})}}}function Id(b,a,c,d){(d.$$hasNativeValidators=C(a[0].validity))&&d.$parsers.push(function(b){var c=a.prop("validity")||{};return c.badInput&&!c.typeMismatch?w:b})}function Jd(b,a,c,d,e){if(A(d)){b= + b(d);if(!b.constant)throw lb("constexpr",c,d);return b(a)}return e}function kc(b,a){b="ngClass"+b;return["$animate",function(c){function d(a,b){var c=[],d=0;a:for(;d(?:<\/\1>|)$/,Sb=/<|&#?\w+;/,Cf=/<([\w:-]+)/,Df=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi, + ma={option:[1,'"],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};ma.optgroup=ma.option;ma.tbody=ma.tfoot=ma.colgroup=ma.caption=ma.thead;ma.th=ma.td;var Ra=R.prototype={ready:function(b){function a(){c||(c=!0,b())}var c=!1;"complete"===X.readyState?setTimeout(a):(this.on("DOMContentLoaded",a),R(Q).on("load",a))}, + toString:function(){var b=[];m(this,function(a){b.push(""+a)});return"["+b.join(", ")+"]"},eq:function(b){return 0<=b?B(this[b]):B(this[this.length+b])},length:0,push:kg,sort:[].sort,splice:[].splice},Bb={};m("multiple selected checked disabled readOnly required open".split(" "),function(b){Bb[F(b)]=b});var Sc={};m("input select option textarea button form details".split(" "),function(b){Sc[b]=!0});var $c={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern"}; + m({data:Vb,removeData:vb,hasData:function(b){for(var a in hb[b.ng339])return!0;return!1}},function(b,a){R[a]=b});m({data:Vb,inheritedData:Ab,scope:function(b){return B.data(b,"$scope")||Ab(b.parentNode||b,["$isolateScope","$scope"])},isolateScope:function(b){return B.data(b,"$isolateScope")||B.data(b,"$isolateScopeNoTemplate")},controller:Pc,injector:function(b){return Ab(b,"$injector")},removeAttr:function(b,a){b.removeAttribute(a)},hasClass:xb,css:function(b,a,c){a=gb(a);if(A(c))b.style[a]=c;else return b.style[a]}, + attr:function(b,a,c){var d=b.nodeType;if(d!==Pa&&2!==d&&8!==d)if(d=F(a),Bb[d])if(A(c))c?(b[a]=!0,b.setAttribute(a,d)):(b[a]=!1,b.removeAttribute(d));else return b[a]||(b.attributes.getNamedItem(a)||y).specified?d:w;else if(A(c))b.setAttribute(a,c);else if(b.getAttribute)return b=b.getAttribute(a,2),null===b?w:b},prop:function(b,a,c){if(A(c))b[a]=c;else return b[a]},text:function(){function b(a,b){if(v(b)){var d=a.nodeType;return d===pa||d===Pa?a.textContent:""}a.textContent=b}b.$dv="";return b}(), + val:function(b,a){if(v(a)){if(b.multiple&&"select"===wa(b)){var c=[];m(b.options,function(a){a.selected&&c.push(a.value||a.text)});return 0===c.length?null:c}return b.value}b.value=a},html:function(b,a){if(v(a))return b.innerHTML;ub(b,!0);b.innerHTML=a},empty:Qc},function(b,a){R.prototype[a]=function(a,d){var e,f,h=this.length;if(b!==Qc&&v(2==b.length&&b!==xb&&b!==Pc?a:d)){if(C(a)){for(e=0;e <= >= && || ! = |".split(" "),function(a){Lb[a]=!0});var rg={n:"\n",f:"\f",r:"\r",t:"\t",v:"\v","'":"'",'"':'"'},ec=function(a){this.options=a};ec.prototype={constructor:ec,lex:function(a){this.text=a;this.index=0;for(this.tokens= + [];this.index=a&&"string"===typeof a},isWhitespace:function(a){return" "===a||"\r"===a||"\t"===a||"\n"===a||"\v"===a||"\u00a0"===a},isIdent:function(a){return"a"<=a&&"z">=a||"A"<=a&&"Z">=a||"_"===a||"$"===a},isExpOperator:function(a){return"-"=== + a||"+"===a||this.isNumber(a)},throwError:function(a,c,d){d=d||this.index;c=A(c)?"s "+c+"-"+this.index+" ["+this.text.substring(c,d)+"]":" "+d;throw Z("lexerr",a,c,this.text);},readNumber:function(){for(var a="",c=this.index;this.index","<=",">=");)a={type:s.BinaryExpression,operator:c.text, + left:a,right:this.additive()};return a},additive:function(){for(var a=this.multiplicative(),c;c=this.expect("+","-");)a={type:s.BinaryExpression,operator:c.text,left:a,right:this.multiplicative()};return a},multiplicative:function(){for(var a=this.unary(),c;c=this.expect("*","/","%");)a={type:s.BinaryExpression,operator:c.text,left:a,right:this.unary()};return a},unary:function(){var a;return(a=this.expect("+","-","!"))?{type:s.UnaryExpression,operator:a.text,prefix:!0,argument:this.unary()}:this.primary()}, + primary:function(){var a;this.expect("(")?(a=this.filterChain(),this.consume(")")):this.expect("[")?a=this.arrayDeclaration():this.expect("{")?a=this.object():this.constants.hasOwnProperty(this.peek().text)?a=ha(this.constants[this.consume().text]):this.peek().identifier?a=this.identifier():this.peek().constant?a=this.constant():this.throwError("not a primary expression",this.peek());for(var c;c=this.expect("(","[",".");)"("===c.text?(a={type:s.CallExpression,callee:a,arguments:this.parseArguments()}, + this.consume(")")):"["===c.text?(a={type:s.MemberExpression,object:a,property:this.expression(),computed:!0},this.consume("]")):"."===c.text?a={type:s.MemberExpression,object:a,property:this.identifier(),computed:!1}:this.throwError("IMPOSSIBLE");return a},filter:function(a){a=[a];for(var c={type:s.CallExpression,callee:this.identifier(),arguments:a,filter:!0};this.expect(":");)a.push(this.expression());return c},parseArguments:function(){var a=[];if(")"!==this.peekToken().text){do a.push(this.expression()); + while(this.expect(","))}return a},identifier:function(){var a=this.consume();a.identifier||this.throwError("is not a valid identifier",a);return{type:s.Identifier,name:a.text}},constant:function(){return{type:s.Literal,value:this.consume().value}},arrayDeclaration:function(){var a=[];if("]"!==this.peekToken().text){do{if(this.peek("]"))break;a.push(this.expression())}while(this.expect(","))}this.consume("]");return{type:s.ArrayExpression,elements:a}},object:function(){var a=[],c;if("}"!==this.peekToken().text){do{if(this.peek("}"))break; + c={type:s.Property,kind:"init"};this.peek().constant?c.key=this.constant():this.peek().identifier?c.key=this.identifier():this.throwError("invalid key",this.peek());this.consume(":");c.value=this.expression();a.push(c)}while(this.expect(","))}this.consume("}");return{type:s.ObjectExpression,properties:a}},throwError:function(a,c){throw Z("syntax",c.text,a,c.index+1,this.text,this.text.substring(c.index));},consume:function(a){if(0===this.tokens.length)throw Z("ueoe",this.text);var c=this.expect(a); + c||this.throwError("is unexpected, expecting ["+a+"]",this.peek());return c},peekToken:function(){if(0===this.tokens.length)throw Z("ueoe",this.text);return this.tokens[0]},peek:function(a,c,d,e){return this.peekAhead(0,a,c,d,e)},peekAhead:function(a,c,d,e,f){if(this.tokens.length>a){a=this.tokens[a];var h=a.text;if(h===c||h===d||h===e||h===f||!(c||d||e||f))return a}return!1},expect:function(a,c,d,e){return(a=this.peek(a,c,d,e))?(this.tokens.shift(),a):!1},constants:{"true":{type:s.Literal,value:!0}, + "false":{type:s.Literal,value:!1},"null":{type:s.Literal,value:null},undefined:{type:s.Literal,value:w},"this":{type:s.ThisExpression}}};sd.prototype={compile:function(a,c){var d=this,e=this.astBuilder.ast(a);this.state={nextId:0,filters:{},expensiveChecks:c,fn:{vars:[],body:[],own:{}},assign:{vars:[],body:[],own:{}},inputs:[]};U(e,d.$filter);var f="",h;this.stage="assign";if(h=qd(e))this.state.computing="assign",f=this.nextId(),this.recurse(h,f),this.return_(f),f="fn.assign="+this.generateFunction("assign", + "s,v,l");h=od(e.body);d.stage="inputs";m(h,function(a,c){var e="fn"+c;d.state[e]={vars:[],body:[],own:{}};d.state.computing=e;var f=d.nextId();d.recurse(a,f);d.return_(f);d.state.inputs.push(e);a.watchId=c});this.state.computing="fn";this.stage="main";this.recurse(e);f='"'+this.USE+" "+this.STRICT+'";\n'+this.filterPrefix()+"var fn="+this.generateFunction("fn","s,l,a,i")+f+this.watchFns()+"return fn;";f=(new Function("$filter","ensureSafeMemberName","ensureSafeObject","ensureSafeFunction","getStringValue", + "ensureSafeAssignContext","ifDefined","plus","text",f))(this.$filter,Xa,Ba,ld,kd,md,Xf,nd,a);this.state=this.stage=w;f.literal=rd(e);f.constant=e.constant;return f},USE:"use",STRICT:"strict",watchFns:function(){var a=[],c=this.state.inputs,d=this;m(c,function(c){a.push("var "+c+"="+d.generateFunction(c,"s"))});c.length&&a.push("fn.inputs=["+c.join(",")+"];");return a.join("")},generateFunction:function(a,c){return"function("+c+"){"+this.varsPrefix(a)+this.body(a)+"};"},filterPrefix:function(){var a= + [],c=this;m(this.state.filters,function(d,e){a.push(d+"=$filter("+c.escape(e)+")")});return a.length?"var "+a.join(",")+";":""},varsPrefix:function(a){return this.state[a].vars.length?"var "+this.state[a].vars.join(",")+";":""},body:function(a){return this.state[a].body.join("")},recurse:function(a,c,d,e,f,h){var g,l,k=this,n,p;e=e||y;if(!h&&A(a.watchId))c=c||this.nextId(),this.if_("i",this.lazyAssign(c,this.computedMember("i",a.watchId)),this.lazyRecurse(a,c,d,e,f,!0));else switch(a.type){case s.Program:m(a.body, + function(c,d){k.recurse(c.expression,w,w,function(a){l=a});d!==a.body.length-1?k.current().body.push(l,";"):k.return_(l)});break;case s.Literal:p=this.escape(a.value);this.assign(c,p);e(p);break;case s.UnaryExpression:this.recurse(a.argument,w,w,function(a){l=a});p=a.operator+"("+this.ifDefined(l,0)+")";this.assign(c,p);e(p);break;case s.BinaryExpression:this.recurse(a.left,w,w,function(a){g=a});this.recurse(a.right,w,w,function(a){l=a});p="+"===a.operator?this.plus(g,l):"-"===a.operator?this.ifDefined(g, + 0)+a.operator+this.ifDefined(l,0):"("+g+")"+a.operator+"("+l+")";this.assign(c,p);e(p);break;case s.LogicalExpression:c=c||this.nextId();k.recurse(a.left,c);k.if_("&&"===a.operator?c:k.not(c),k.lazyRecurse(a.right,c));e(c);break;case s.ConditionalExpression:c=c||this.nextId();k.recurse(a.test,c);k.if_(c,k.lazyRecurse(a.alternate,c),k.lazyRecurse(a.consequent,c));e(c);break;case s.Identifier:c=c||this.nextId();d&&(d.context="inputs"===k.stage?"s":this.assign(this.nextId(),this.getHasOwnProperty("l", + a.name)+"?l:s"),d.computed=!1,d.name=a.name);Xa(a.name);k.if_("inputs"===k.stage||k.not(k.getHasOwnProperty("l",a.name)),function(){k.if_("inputs"===k.stage||"s",function(){f&&1!==f&&k.if_(k.not(k.nonComputedMember("s",a.name)),k.lazyAssign(k.nonComputedMember("s",a.name),"{}"));k.assign(c,k.nonComputedMember("s",a.name))})},c&&k.lazyAssign(c,k.nonComputedMember("l",a.name)));(k.state.expensiveChecks||Fb(a.name))&&k.addEnsureSafeObject(c);e(c);break;case s.MemberExpression:g=d&&(d.context=this.nextId())|| + this.nextId();c=c||this.nextId();k.recurse(a.object,g,w,function(){k.if_(k.notNull(g),function(){if(a.computed)l=k.nextId(),k.recurse(a.property,l),k.getStringValue(l),k.addEnsureSafeMemberName(l),f&&1!==f&&k.if_(k.not(k.computedMember(g,l)),k.lazyAssign(k.computedMember(g,l),"{}")),p=k.ensureSafeObject(k.computedMember(g,l)),k.assign(c,p),d&&(d.computed=!0,d.name=l);else{Xa(a.property.name);f&&1!==f&&k.if_(k.not(k.nonComputedMember(g,a.property.name)),k.lazyAssign(k.nonComputedMember(g,a.property.name), + "{}"));p=k.nonComputedMember(g,a.property.name);if(k.state.expensiveChecks||Fb(a.property.name))p=k.ensureSafeObject(p);k.assign(c,p);d&&(d.computed=!1,d.name=a.property.name)}},function(){k.assign(c,"undefined")});e(c)},!!f);break;case s.CallExpression:c=c||this.nextId();a.filter?(l=k.filter(a.callee.name),n=[],m(a.arguments,function(a){var c=k.nextId();k.recurse(a,c);n.push(c)}),p=l+"("+n.join(",")+")",k.assign(c,p),e(c)):(l=k.nextId(),g={},n=[],k.recurse(a.callee,l,g,function(){k.if_(k.notNull(l), + function(){k.addEnsureSafeFunction(l);m(a.arguments,function(a){k.recurse(a,k.nextId(),w,function(a){n.push(k.ensureSafeObject(a))})});g.name?(k.state.expensiveChecks||k.addEnsureSafeObject(g.context),p=k.member(g.context,g.name,g.computed)+"("+n.join(",")+")"):p=l+"("+n.join(",")+")";p=k.ensureSafeObject(p);k.assign(c,p)},function(){k.assign(c,"undefined")});e(c)}));break;case s.AssignmentExpression:l=this.nextId();g={};if(!pd(a.left))throw Z("lval");this.recurse(a.left,w,g,function(){k.if_(k.notNull(g.context), + function(){k.recurse(a.right,l);k.addEnsureSafeObject(k.member(g.context,g.name,g.computed));k.addEnsureSafeAssignContext(g.context);p=k.member(g.context,g.name,g.computed)+a.operator+l;k.assign(c,p);e(c||p)})},1);break;case s.ArrayExpression:n=[];m(a.elements,function(a){k.recurse(a,k.nextId(),w,function(a){n.push(a)})});p="["+n.join(",")+"]";this.assign(c,p);e(p);break;case s.ObjectExpression:n=[];m(a.properties,function(a){k.recurse(a.value,k.nextId(),w,function(c){n.push(k.escape(a.key.type=== + s.Identifier?a.key.name:""+a.key.value)+":"+c)})});p="{"+n.join(",")+"}";this.assign(c,p);e(p);break;case s.ThisExpression:this.assign(c,"s");e("s");break;case s.NGValueParameter:this.assign(c,"v"),e("v")}},getHasOwnProperty:function(a,c){var d=a+"."+c,e=this.current().own;e.hasOwnProperty(d)||(e[d]=this.nextId(!1,a+"&&("+this.escape(c)+" in "+a+")"));return e[d]},assign:function(a,c){if(a)return this.current().body.push(a,"=",c,";"),a},filter:function(a){this.state.filters.hasOwnProperty(a)||(this.state.filters[a]= + this.nextId(!0));return this.state.filters[a]},ifDefined:function(a,c){return"ifDefined("+a+","+this.escape(c)+")"},plus:function(a,c){return"plus("+a+","+c+")"},return_:function(a){this.current().body.push("return ",a,";")},if_:function(a,c,d){if(!0===a)c();else{var e=this.current().body;e.push("if(",a,"){");c();e.push("}");d&&(e.push("else{"),d(),e.push("}"))}},not:function(a){return"!("+a+")"},notNull:function(a){return a+"!=null"},nonComputedMember:function(a,c){return a+"."+c},computedMember:function(a, + c){return a+"["+c+"]"},member:function(a,c,d){return d?this.computedMember(a,c):this.nonComputedMember(a,c)},addEnsureSafeObject:function(a){this.current().body.push(this.ensureSafeObject(a),";")},addEnsureSafeMemberName:function(a){this.current().body.push(this.ensureSafeMemberName(a),";")},addEnsureSafeFunction:function(a){this.current().body.push(this.ensureSafeFunction(a),";")},addEnsureSafeAssignContext:function(a){this.current().body.push(this.ensureSafeAssignContext(a),";")},ensureSafeObject:function(a){return"ensureSafeObject("+ + a+",text)"},ensureSafeMemberName:function(a){return"ensureSafeMemberName("+a+",text)"},ensureSafeFunction:function(a){return"ensureSafeFunction("+a+",text)"},getStringValue:function(a){this.assign(a,"getStringValue("+a+",text)")},ensureSafeAssignContext:function(a){return"ensureSafeAssignContext("+a+",text)"},lazyRecurse:function(a,c,d,e,f,h){var g=this;return function(){g.recurse(a,c,d,e,f,h)}},lazyAssign:function(a,c){var d=this;return function(){d.assign(a,c)}},stringEscapeRegex:/[^ a-zA-Z0-9]/g, + stringEscapeFn:function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)},escape:function(a){if(G(a))return"'"+a.replace(this.stringEscapeRegex,this.stringEscapeFn)+"'";if(V(a))return a.toString();if(!0===a)return"true";if(!1===a)return"false";if(null===a)return"null";if("undefined"===typeof a)return"undefined";throw Z("esc");},nextId:function(a,c){var d="v"+this.state.nextId++;a||this.current().vars.push(d+(c?"="+c:""));return d},current:function(){return this.state[this.state.computing]}}; + td.prototype={compile:function(a,c){var d=this,e=this.astBuilder.ast(a);this.expression=a;this.expensiveChecks=c;U(e,d.$filter);var f,h;if(f=qd(e))h=this.recurse(f);f=od(e.body);var g;f&&(g=[],m(f,function(a,c){var e=d.recurse(a);a.input=e;g.push(e);a.watchId=c}));var l=[];m(e.body,function(a){l.push(d.recurse(a.expression))});f=0===e.body.length?function(){}:1===e.body.length?l[0]:function(a,c){var d;m(l,function(e){d=e(a,c)});return d};h&&(f.assign=function(a,c,d){return h(a,d,c)});g&&(f.inputs= + g);f.literal=rd(e);f.constant=e.constant;return f},recurse:function(a,c,d){var e,f,h=this,g;if(a.input)return this.inputs(a.input,a.watchId);switch(a.type){case s.Literal:return this.value(a.value,c);case s.UnaryExpression:return f=this.recurse(a.argument),this["unary"+a.operator](f,c);case s.BinaryExpression:return e=this.recurse(a.left),f=this.recurse(a.right),this["binary"+a.operator](e,f,c);case s.LogicalExpression:return e=this.recurse(a.left),f=this.recurse(a.right),this["binary"+a.operator](e, + f,c);case s.ConditionalExpression:return this["ternary?:"](this.recurse(a.test),this.recurse(a.alternate),this.recurse(a.consequent),c);case s.Identifier:return Xa(a.name,h.expression),h.identifier(a.name,h.expensiveChecks||Fb(a.name),c,d,h.expression);case s.MemberExpression:return e=this.recurse(a.object,!1,!!d),a.computed||(Xa(a.property.name,h.expression),f=a.property.name),a.computed&&(f=this.recurse(a.property)),a.computed?this.computedMember(e,f,c,d,h.expression):this.nonComputedMember(e,f, + h.expensiveChecks,c,d,h.expression);case s.CallExpression:return g=[],m(a.arguments,function(a){g.push(h.recurse(a))}),a.filter&&(f=this.$filter(a.callee.name)),a.filter||(f=this.recurse(a.callee,!0)),a.filter?function(a,d,e,h){for(var r=[],m=0;m":function(a,c,d){return function(e,f,h,g){e=a(e,f,h,g)>c(e,f,h,g);return d?{value:e}:e}},"binary<=":function(a,c,d){return function(e,f,h,g){e=a(e,f,h,g)<=c(e,f,h,g);return d?{value:e}:e}},"binary>=":function(a,c,d){return function(e,f,h,g){e=a(e,f,h,g)>=c(e,f,h,g);return d?{value:e}:e}},"binary&&":function(a,c,d){return function(e, + f,h,g){e=a(e,f,h,g)&&c(e,f,h,g);return d?{value:e}:e}},"binary||":function(a,c,d){return function(e,f,h,g){e=a(e,f,h,g)||c(e,f,h,g);return d?{value:e}:e}},"ternary?:":function(a,c,d,e){return function(f,h,g,l){f=a(f,h,g,l)?c(f,h,g,l):d(f,h,g,l);return e?{value:f}:f}},value:function(a,c){return function(){return c?{context:w,name:w,value:a}:a}},identifier:function(a,c,d,e,f){return function(h,g,l,k){h=g&&a in g?g:h;e&&1!==e&&h&&!h[a]&&(h[a]={});g=h?h[a]:w;c&&Ba(g,f);return d?{context:h,name:a,value:g}: + g}},computedMember:function(a,c,d,e,f){return function(h,g,l,k){var n=a(h,g,l,k),p,m;null!=n&&(p=c(h,g,l,k),p=kd(p),Xa(p,f),e&&1!==e&&n&&!n[p]&&(n[p]={}),m=n[p],Ba(m,f));return d?{context:n,name:p,value:m}:m}},nonComputedMember:function(a,c,d,e,f,h){return function(g,l,k,n){g=a(g,l,k,n);f&&1!==f&&g&&!g[c]&&(g[c]={});l=null!=g?g[c]:w;(d||Fb(c))&&Ba(l,h);return e?{context:g,name:c,value:l}:l}},inputs:function(a,c){return function(d,e,f,h){return h?h[c]:a(d,e,f)}}};var fc=function(a,c,d){this.lexer= + a;this.$filter=c;this.options=d;this.ast=new s(this.lexer);this.astCompiler=d.csp?new td(this.ast,c):new sd(this.ast,c)};fc.prototype={constructor:fc,parse:function(a){return this.astCompiler.compile(a,this.options.expensiveChecks)}};fa();fa();var Yf=Object.prototype.valueOf,Ca=I("$sce"),oa={HTML:"html",CSS:"css",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"},ga=I("$compile"),$=X.createElement("a"),xd=Aa(Q.location.href);yd.$inject=["$document"];Kc.$inject=["$provide"];zd.$inject=["$locale"];Bd.$inject= + ["$locale"];var hc=".",hg={yyyy:aa("FullYear",4),yy:aa("FullYear",2,0,!0),y:aa("FullYear",1),MMMM:Hb("Month"),MMM:Hb("Month",!0),MM:aa("Month",2,1),M:aa("Month",1,1),dd:aa("Date",2),d:aa("Date",1),HH:aa("Hours",2),H:aa("Hours",1),hh:aa("Hours",2,-12),h:aa("Hours",1,-12),mm:aa("Minutes",2),m:aa("Minutes",1),ss:aa("Seconds",2),s:aa("Seconds",1),sss:aa("Milliseconds",3),EEEE:Hb("Day"),EEE:Hb("Day",!0),a:function(a,c){return 12>a.getHours()?c.AMPMS[0]:c.AMPMS[1]},Z:function(a,c,d){a=-1*d;return a=(0<= + a?"+":"")+(Gb(Math[0=a.getFullYear()?c.ERANAMES[0]:c.ERANAMES[1]}},gg=/((?:[^yMdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z|G+|w+))(.*)/,fg=/^\-?\d+$/;Ad.$inject=["$locale"];var cg=qa(F),dg=qa(sb);Cd.$inject=["$parse"];var he=qa({restrict:"E",compile:function(a,c){if(!c.href&&!c.xlinkHref)return function(a,c){if("a"===c[0].nodeName.toLowerCase()){var f="[object SVGAnimatedString]"=== + va.call(c.prop("href"))?"xlink:href":"href";c.on("click",function(a){c.attr(f)||a.preventDefault()})}}}}),tb={};m(Bb,function(a,c){function d(a,d,f){a.$watch(f[e],function(a){f.$set(c,!!a)})}if("multiple"!=a){var e=ya("ng-"+c),f=d;"checked"===a&&(f=function(a,c,f){f.ngModel!==f[e]&&d(a,c,f)});tb[e]=function(){return{restrict:"A",priority:100,link:f}}}});m($c,function(a,c){tb[c]=function(){return{priority:100,link:function(a,e,f){if("ngPattern"===c&&"/"==f.ngPattern.charAt(0)&&(e=f.ngPattern.match(jg))){f.$set("ngPattern", + new RegExp(e[1],e[2]));return}a.$watch(f[c],function(a){f.$set(c,a)})}}}});m(["src","srcset","href"],function(a){var c=ya("ng-"+a);tb[c]=function(){return{priority:99,link:function(d,e,f){var h=a,g=a;"href"===a&&"[object SVGAnimatedString]"===va.call(e.prop("href"))&&(g="xlinkHref",f.$attr[g]="xlink:href",h=null);f.$observe(c,function(c){c?(f.$set(g,c),Wa&&h&&e.prop(h,f[g])):"href"===a&&f.$set(g,null)})}}}});var Ib={$addControl:y,$$renameControl:function(a,c){a.$name=c},$removeControl:y,$setValidity:y, + $setDirty:y,$setPristine:y,$setSubmitted:y};Gd.$inject=["$element","$attrs","$scope","$animate","$interpolate"];var Od=function(a){return["$timeout","$parse",function(c,d){function e(a){return""===a?d('this[""]').assign:d(a).assign||y}return{name:"form",restrict:a?"EAC":"E",require:["form","^^?form"],controller:Gd,compile:function(d,h){d.addClass(Ya).addClass(mb);var g=h.name?"name":a&&h.ngForm?"ngForm":!1;return{pre:function(a,d,f,h){var m=h[0];if(!("action"in f)){var t=function(c){a.$apply(function(){m.$commitViewValue(); + m.$setSubmitted()});c.preventDefault()};d[0].addEventListener("submit",t,!1);d.on("$destroy",function(){c(function(){d[0].removeEventListener("submit",t,!1)},0,!1)})}(h[1]||m.$$parentForm).$addControl(m);var s=g?e(m.$name):y;g&&(s(a,m),f.$observe(g,function(c){m.$name!==c&&(s(a,w),m.$$parentForm.$$renameControl(m,c),s=e(m.$name),s(a,m))}));d.on("$destroy",function(){m.$$parentForm.$removeControl(m);s(a,w);P(m,Ib)})}}}}}]},ie=Od(),ve=Od(!0),ig=/\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)/, + sg=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,tg=/^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i,ug=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/,Pd=/^(\d{4})-(\d{2})-(\d{2})$/,Qd=/^(\d{4})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,lc=/^(\d{4})-W(\d\d)$/,Rd=/^(\d{4})-(\d\d)$/,Sd=/^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Td={text:function(a,c,d,e,f,h){jb(a,c,d,e,f,h);jc(e)},date:kb("date", + Pd,Kb(Pd,["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":kb("datetimelocal",Qd,Kb(Qd,"yyyy MM dd HH mm ss sss".split(" ")),"yyyy-MM-ddTHH:mm:ss.sss"),time:kb("time",Sd,Kb(Sd,["HH","mm","ss","sss"]),"HH:mm:ss.sss"),week:kb("week",lc,function(a,c){if(ea(a))return a;if(G(a)){lc.lastIndex=0;var d=lc.exec(a);if(d){var e=+d[1],f=+d[2],h=d=0,g=0,l=0,k=Ed(e),f=7*(f-1);c&&(d=c.getHours(),h=c.getMinutes(),g=c.getSeconds(),l=c.getMilliseconds());return new Date(e,0,k.getDate()+f,d,h,g,l)}}return NaN},"yyyy-Www"), + month:kb("month",Rd,Kb(Rd,["yyyy","MM"]),"yyyy-MM"),number:function(a,c,d,e,f,h){Id(a,c,d,e);jb(a,c,d,e,f,h);e.$$parserName="number";e.$parsers.push(function(a){return e.$isEmpty(a)?null:ug.test(a)?parseFloat(a):w});e.$formatters.push(function(a){if(!e.$isEmpty(a)){if(!V(a))throw lb("numfmt",a);a=a.toString()}return a});if(A(d.min)||d.ngMin){var g;e.$validators.min=function(a){return e.$isEmpty(a)||v(g)||a>=g};d.$observe("min",function(a){A(a)&&!V(a)&&(a=parseFloat(a,10));g=V(a)&&!isNaN(a)?a:w;e.$validate()})}if(A(d.max)|| + d.ngMax){var l;e.$validators.max=function(a){return e.$isEmpty(a)||v(l)||a<=l};d.$observe("max",function(a){A(a)&&!V(a)&&(a=parseFloat(a,10));l=V(a)&&!isNaN(a)?a:w;e.$validate()})}},url:function(a,c,d,e,f,h){jb(a,c,d,e,f,h);jc(e);e.$$parserName="url";e.$validators.url=function(a,c){var d=a||c;return e.$isEmpty(d)||sg.test(d)}},email:function(a,c,d,e,f,h){jb(a,c,d,e,f,h);jc(e);e.$$parserName="email";e.$validators.email=function(a,c){var d=a||c;return e.$isEmpty(d)||tg.test(d)}},radio:function(a,c, + d,e){v(d.name)&&c.attr("name",++nb);c.on("click",function(a){c[0].checked&&e.$setViewValue(d.value,a&&a.type)});e.$render=function(){c[0].checked=d.value==e.$viewValue};d.$observe("value",e.$render)},checkbox:function(a,c,d,e,f,h,g,l){var k=Jd(l,a,"ngTrueValue",d.ngTrueValue,!0),n=Jd(l,a,"ngFalseValue",d.ngFalseValue,!1);c.on("click",function(a){e.$setViewValue(c[0].checked,a&&a.type)});e.$render=function(){c[0].checked=e.$viewValue};e.$isEmpty=function(a){return!1===a};e.$formatters.push(function(a){return ka(a, + k)});e.$parsers.push(function(a){return a?k:n})},hidden:y,button:y,submit:y,reset:y,file:y},Ec=["$browser","$sniffer","$filter","$parse",function(a,c,d,e){return{restrict:"E",require:["?ngModel"],link:{pre:function(f,h,g,l){l[0]&&(Td[F(g.type)]||Td.text)(f,h,g,l[0],c,a,d,e)}}}}],vg=/^(true|false|\d+)$/,Ne=function(){return{restrict:"A",priority:100,compile:function(a,c){return vg.test(c.ngValue)?function(a,c,f){f.$set("value",a.$eval(f.ngValue))}:function(a,c,f){a.$watch(f.ngValue,function(a){f.$set("value", + a)})}}}},ne=["$compile",function(a){return{restrict:"AC",compile:function(c){a.$$addBindingClass(c);return function(c,e,f){a.$$addBindingInfo(e,f.ngBind);e=e[0];c.$watch(f.ngBind,function(a){e.textContent=v(a)?"":a})}}}}],pe=["$interpolate","$compile",function(a,c){return{compile:function(d){c.$$addBindingClass(d);return function(d,f,h){d=a(f.attr(h.$attr.ngBindTemplate));c.$$addBindingInfo(f,d.expressions);f=f[0];h.$observe("ngBindTemplate",function(a){f.textContent=v(a)?"":a})}}}}],oe=["$sce","$parse", + "$compile",function(a,c,d){return{restrict:"A",compile:function(e,f){var h=c(f.ngBindHtml),g=c(f.ngBindHtml,function(a){return(a||"").toString()});d.$$addBindingClass(e);return function(c,e,f){d.$$addBindingInfo(e,f.ngBindHtml);c.$watch(g,function(){e.html(a.getTrustedHtml(h(c))||"")})}}}}],Me=qa({restrict:"A",require:"ngModel",link:function(a,c,d,e){e.$viewChangeListeners.push(function(){a.$eval(d.ngChange)})}}),qe=kc("",!0),se=kc("Odd",0),re=kc("Even",1),te=Na({compile:function(a,c){c.$set("ngCloak", + w);a.removeClass("ng-cloak")}}),ue=[function(){return{restrict:"A",scope:!0,controller:"@",priority:500}}],Jc={},wg={blur:!0,focus:!0};m("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(a){var c=ya("ng-"+a);Jc[c]=["$parse","$rootScope",function(d,e){return{restrict:"A",compile:function(f,h){var g=d(h[c],null,!0);return function(c,d){d.on(a,function(d){var f=function(){g(c,{$event:d})}; + wg[a]&&e.$$phase?c.$evalAsync(f):c.$apply(f)})}}}}]});var xe=["$animate",function(a){return{multiElement:!0,transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(c,d,e,f,h){var g,l,k;c.$watch(e.ngIf,function(c){c?l||h(function(c,f){l=f;c[c.length++]=X.createComment(" end ngIf: "+e.ngIf+" ");g={clone:c};a.enter(c,d.parent(),d)}):(k&&(k.remove(),k=null),l&&(l.$destroy(),l=null),g&&(k=rb(g.clone),a.leave(k).then(function(){k=null}),g=null))})}}}],ye=["$templateRequest","$anchorScroll", + "$animate",function(a,c,d){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:da.noop,compile:function(e,f){var h=f.ngInclude||f.src,g=f.onload||"",l=f.autoscroll;return function(e,f,m,r,t){var s=0,v,u,q,z=function(){u&&(u.remove(),u=null);v&&(v.$destroy(),v=null);q&&(d.leave(q).then(function(){u=null}),u=q,q=null)};e.$watch(h,function(h){var m=function(){!A(l)||l&&!e.$eval(l)||c()},p=++s;h?(a(h,!0).then(function(a){if(p===s){var c=e.$new();r.template=a;a=t(c,function(a){z(); + d.enter(a,null,f).then(m)});v=c;q=a;v.$emit("$includeContentLoaded",h);e.$eval(g)}},function(){p===s&&(z(),e.$emit("$includeContentError",h))}),e.$emit("$includeContentRequested",h)):(z(),r.template=null)})}}}}],Pe=["$compile",function(a){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(c,d,e,f){/SVG/.test(d[0].toString())?(d.empty(),a(Mc(f.template,X).childNodes)(c,function(a){d.append(a)},{futureParentElement:d})):(d.html(f.template),a(d.contents())(c))}}}],ze=Na({priority:450, + compile:function(){return{pre:function(a,c,d){a.$eval(d.ngInit)}}}}),Le=function(){return{restrict:"A",priority:100,require:"ngModel",link:function(a,c,d,e){var f=c.attr(d.$attr.ngList)||", ",h="false"!==d.ngTrim,g=h?T(f):f;e.$parsers.push(function(a){if(!v(a)){var c=[];a&&m(a.split(g),function(a){a&&c.push(h?T(a):a)});return c}});e.$formatters.push(function(a){return J(a)?a.join(f):w});e.$isEmpty=function(a){return!a||!a.length}}}},mb="ng-valid",Kd="ng-invalid",Ya="ng-pristine",Jb="ng-dirty",Md= + "ng-pending",lb=I("ngModel"),xg=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate","$timeout","$rootScope","$q","$interpolate",function(a,c,d,e,f,h,g,l,k,n){this.$modelValue=this.$viewValue=Number.NaN;this.$$rawModelValue=w;this.$validators={};this.$asyncValidators={};this.$parsers=[];this.$formatters=[];this.$viewChangeListeners=[];this.$untouched=!0;this.$touched=!1;this.$pristine=!0;this.$dirty=!1;this.$valid=!0;this.$invalid=!1;this.$error={};this.$$success={};this.$pending= + w;this.$name=n(d.name||"",!1)(a);this.$$parentForm=Ib;var p=f(d.ngModel),r=p.assign,t=p,s=r,K=null,u,q=this;this.$$setOptions=function(a){if((q.$options=a)&&a.getterSetter){var c=f(d.ngModel+"()"),g=f(d.ngModel+"($$$p)");t=function(a){var d=p(a);x(d)&&(d=c(a));return d};s=function(a,c){x(p(a))?g(a,{$$$p:q.$modelValue}):r(a,q.$modelValue)}}else if(!p.assign)throw lb("nonassign",d.ngModel,xa(e));};this.$render=y;this.$isEmpty=function(a){return v(a)||""===a||null===a||a!==a};var z=0;Hd({ctrl:this,$element:e, + set:function(a,c){a[c]=!0},unset:function(a,c){delete a[c]},$animate:h});this.$setPristine=function(){q.$dirty=!1;q.$pristine=!0;h.removeClass(e,Jb);h.addClass(e,Ya)};this.$setDirty=function(){q.$dirty=!0;q.$pristine=!1;h.removeClass(e,Ya);h.addClass(e,Jb);q.$$parentForm.$setDirty()};this.$setUntouched=function(){q.$touched=!1;q.$untouched=!0;h.setClass(e,"ng-untouched","ng-touched")};this.$setTouched=function(){q.$touched=!0;q.$untouched=!1;h.setClass(e,"ng-touched","ng-untouched")};this.$rollbackViewValue= + function(){g.cancel(K);q.$viewValue=q.$$lastCommittedViewValue;q.$render()};this.$validate=function(){if(!V(q.$modelValue)||!isNaN(q.$modelValue)){var a=q.$$rawModelValue,c=q.$valid,d=q.$modelValue,e=q.$options&&q.$options.allowInvalid;q.$$runValidators(a,q.$$lastCommittedViewValue,function(f){e||c===f||(q.$modelValue=f?a:w,q.$modelValue!==d&&q.$$writeModelToScope())})}};this.$$runValidators=function(a,c,d){function e(){var d=!0;m(q.$validators,function(e,f){var h=e(a,c);d=d&&h;g(f,h)});return d? + !0:(m(q.$asyncValidators,function(a,c){g(c,null)}),!1)}function f(){var d=[],e=!0;m(q.$asyncValidators,function(f,h){var k=f(a,c);if(!k||!x(k.then))throw lb("$asyncValidators",k);g(h,w);d.push(k.then(function(){g(h,!0)},function(a){e=!1;g(h,!1)}))});d.length?k.all(d).then(function(){h(e)},y):h(!0)}function g(a,c){l===z&&q.$setValidity(a,c)}function h(a){l===z&&d(a)}z++;var l=z;(function(){var a=q.$$parserName||"parse";if(v(u))g(a,null);else return u||(m(q.$validators,function(a,c){g(c,null)}),m(q.$asyncValidators, + function(a,c){g(c,null)})),g(a,u),u;return!0})()?e()?f():h(!1):h(!1)};this.$commitViewValue=function(){var a=q.$viewValue;g.cancel(K);if(q.$$lastCommittedViewValue!==a||""===a&&q.$$hasNativeValidators)q.$$lastCommittedViewValue=a,q.$pristine&&this.$setDirty(),this.$$parseAndValidate()};this.$$parseAndValidate=function(){var c=q.$$lastCommittedViewValue;if(u=v(c)?w:!0)for(var d=0;df||e.$isEmpty(c)||c.length<=f}}}}},Hc=function(){return{restrict:"A",require:"?ngModel",link:function(a,c,d,e){if(e){var f=0;d.$observe("minlength",function(a){f=Y(a)||0;e.$validate()}); + e.$validators.minlength=function(a,c){return e.$isEmpty(c)||c.length>=f}}}}};Q.angular.bootstrap?console.log("WARNING: Tried to load angular more than once."):(ce(),ee(da),da.module("ngLocale",[],["$provide",function(a){function c(a){a+="";var c=a.indexOf(".");return-1==c?0:a.length-c-1}a.value("$locale",{DATETIME_FORMATS:{AMPMS:["AM","PM"],DAY:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),ERANAMES:["Before Christ","Anno Domini"],ERAS:["BC","AD"],FIRSTDAYOFWEEK:6,MONTH:"January February March April May June July August September October November December".split(" "), + SHORTDAY:"Sun Mon Tue Wed Thu Fri Sat".split(" "),SHORTMONTH:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),WEEKENDRANGE:[5,6],fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",medium:"MMM d, y h:mm:ss a",mediumDate:"MMM d, y",mediumTime:"h:mm:ss a","short":"M/d/yy h:mm a",shortDate:"M/d/yy",shortTime:"h:mm a"},NUMBER_FORMATS:{CURRENCY_SYM:"$",DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{gSize:3,lgSize:3,maxFrac:3,minFrac:0,minInt:1,negPre:"-",negSuf:"",posPre:"",posSuf:""},{gSize:3,lgSize:3, + maxFrac:2,minFrac:2,minInt:1,negPre:"-\u00a4",negSuf:"",posPre:"\u00a4",posSuf:""}]},id:"en-us",pluralCat:function(a,e){var f=a|0,h=e;w===h&&(h=Math.min(c(a),3));Math.pow(10,h);return 1==f&&0==h?"one":"other"}})}]),B(X).ready(function(){Zd(X,zc)}))})(window,document);!window.angular.$$csp().noInlineStyle&&window.angular.element(document.head).prepend(''); \ No newline at end of file diff --git a/src/public/js/vendor/async/async.js b/src/public/js/vendor/async/async.js index 87da4d736..451742dde 100644 --- a/src/public/js/vendor/async/async.js +++ b/src/public/js/vendor/async/async.js @@ -1,314 +1,877 @@ -/*! - * async - * https://github.com/caolan/async - * - * Copyright 2010-2014 Caolan McMahon - * Released under the MIT license - */ -(function () { +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (factory((global.async = global.async || {}))); +}(this, (function (exports) { 'use strict'; + + /** + * A faster alternative to `Function#apply`, this function invokes `func` + * with the `this` binding of `thisArg` and the arguments of `args`. + * + * @private + * @param {Function} func The function to invoke. + * @param {*} thisArg The `this` binding of `func`. + * @param {Array} args The arguments to invoke `func` with. + * @returns {*} Returns the result of `func`. + */ + function apply(func, thisArg, args) { + switch (args.length) { + case 0: return func.call(thisArg); + case 1: return func.call(thisArg, args[0]); + case 2: return func.call(thisArg, args[0], args[1]); + case 3: return func.call(thisArg, args[0], args[1], args[2]); + } + return func.apply(thisArg, args); + } + + /* Built-in method references for those with the same name as other `lodash` methods. */ + var nativeMax = Math.max; + + /** + * A specialized version of `baseRest` which transforms the rest array. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @param {Function} transform The rest array transform. + * @returns {Function} Returns the new function. + */ + function overRest$1(func, start, transform) { + start = nativeMax(start === undefined ? (func.length - 1) : start, 0); + return function() { + var args = arguments, + index = -1, + length = nativeMax(args.length - start, 0), + array = Array(length); - var async = {}; - function noop() {} - function identity(v) { - return v; + while (++index < length) { + array[index] = args[start + index]; + } + index = -1; + var otherArgs = Array(start + 1); + while (++index < start) { + otherArgs[index] = args[index]; + } + otherArgs[start] = transform(array); + return apply(func, this, otherArgs); + }; } - function toBool(v) { - return !!v; + + /** + * This method returns the first argument it receives. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {*} value Any value. + * @returns {*} Returns `value`. + * @example + * + * var object = { 'a': 1 }; + * + * console.log(_.identity(object) === object); + * // => true + */ + function identity(value) { + return value; } - function notId(v) { - return !v; + +// Lodash rest function without function.toString() +// remappings + function rest(func, start) { + return overRest$1(func, start, identity); } - // global on the server, window in the browser - var previous_async; + var initialParams = function (fn) { + return rest(function (args /*..., callback*/) { + var callback = args.pop(); + fn.call(this, args, callback); + }); + }; - // Establish the root object, `window` (`self`) in the browser, `global` - // on the server, or `this` in some virtual machines. We use `self` - // instead of `window` for `WebWorker` support. - var root = typeof self === 'object' && self.self === self && self || - typeof global === 'object' && global.global === global && global || - this; + function applyEach$1(eachfn) { + return rest(function (fns, args) { + var go = initialParams(function (args, callback) { + var that = this; + return eachfn(fns, function (fn, cb) { + fn.apply(that, args.concat(cb)); + }, callback); + }); + if (args.length) { + return go.apply(this, args); + } else { + return go; + } + }); + } - if (root != null) { - previous_async = root.async; + /** Detect free variable `global` from Node.js. */ + var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + + /** Detect free variable `self`. */ + var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + + /** Used as a reference to the global object. */ + var root = freeGlobal || freeSelf || Function('return this')(); + + /** Built-in value references. */ + var Symbol$1 = root.Symbol; + + /** Used for built-in method references. */ + var objectProto = Object.prototype; + + /** Used to check objects for own properties. */ + var hasOwnProperty = objectProto.hasOwnProperty; + + /** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ + var nativeObjectToString = objectProto.toString; + + /** Built-in value references. */ + var symToStringTag$1 = Symbol$1 ? Symbol$1.toStringTag : undefined; + + /** + * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the raw `toStringTag`. + */ + function getRawTag(value) { + var isOwn = hasOwnProperty.call(value, symToStringTag$1), + tag = value[symToStringTag$1]; + + try { + value[symToStringTag$1] = undefined; + var unmasked = true; + } catch (e) {} + + var result = nativeObjectToString.call(value); + if (unmasked) { + if (isOwn) { + value[symToStringTag$1] = tag; + } else { + delete value[symToStringTag$1]; + } + } + return result; } - async.noConflict = function () { - root.async = previous_async; - return async; - }; + /** Used for built-in method references. */ + var objectProto$1 = Object.prototype; + + /** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ + var nativeObjectToString$1 = objectProto$1.toString; + + /** + * Converts `value` to a string using `Object.prototype.toString`. + * + * @private + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + */ + function objectToString(value) { + return nativeObjectToString$1.call(value); + } - function only_once(fn) { - return function() { - if (fn === null) throw new Error("Callback was already called."); - fn.apply(this, arguments); - fn = null; - }; + /** `Object#toString` result references. */ + var nullTag = '[object Null]'; + var undefinedTag = '[object Undefined]'; + + /** Built-in value references. */ + var symToStringTag = Symbol$1 ? Symbol$1.toStringTag : undefined; + + /** + * The base implementation of `getTag` without fallbacks for buggy environments. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ + function baseGetTag(value) { + if (value == null) { + return value === undefined ? undefinedTag : nullTag; + } + value = Object(value); + return (symToStringTag && symToStringTag in value) + ? getRawTag(value) + : objectToString(value); } - function _once(fn) { - return function() { - if (fn === null) return; - fn.apply(this, arguments); - fn = null; - }; + /** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ + function isObject(value) { + var type = typeof value; + return value != null && (type == 'object' || type == 'function'); } - //// cross-browser compatiblity functions //// + /** `Object#toString` result references. */ + var asyncTag = '[object AsyncFunction]'; + var funcTag = '[object Function]'; + var genTag = '[object GeneratorFunction]'; + var proxyTag = '[object Proxy]'; + + /** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ + function isFunction(value) { + if (!isObject(value)) { + return false; + } + // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 9 which returns 'object' for typed arrays and other constructors. + var tag = baseGetTag(value); + return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; + } - var _toString = Object.prototype.toString; + /** Used as references for various `Number` constants. */ + var MAX_SAFE_INTEGER = 9007199254740991; + + /** + * Checks if `value` is a valid array-like length. + * + * **Note:** This method is loosely based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. + * @example + * + * _.isLength(3); + * // => true + * + * _.isLength(Number.MIN_VALUE); + * // => false + * + * _.isLength(Infinity); + * // => false + * + * _.isLength('3'); + * // => false + */ + function isLength(value) { + return typeof value == 'number' && + value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; + } - var _isArray = Array.isArray || function (obj) { - return _toString.call(obj) === '[object Array]'; - }; + /** + * Checks if `value` is array-like. A value is considered array-like if it's + * not a function and has a `value.length` that's an integer greater than or + * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is array-like, else `false`. + * @example + * + * _.isArrayLike([1, 2, 3]); + * // => true + * + * _.isArrayLike(document.body.children); + * // => true + * + * _.isArrayLike('abc'); + * // => true + * + * _.isArrayLike(_.noop); + * // => false + */ + function isArrayLike(value) { + return value != null && isLength(value.length) && !isFunction(value); + } - // Ported from underscore.js isObject - var _isObject = function(obj) { - var type = typeof obj; - return type === 'function' || type === 'object' && !!obj; - }; + /** + * This method returns `undefined`. + * + * @static + * @memberOf _ + * @since 2.3.0 + * @category Util + * @example + * + * _.times(2, _.noop); + * // => [undefined, undefined] + */ + function noop() { + // No operation performed. + } - function _isArrayLike(arr) { - return _isArray(arr) || ( - // has a positive integer length property - typeof arr.length === "number" && - arr.length >= 0 && - arr.length % 1 === 0 - ); + function once(fn) { + return function () { + if (fn === null) return; + var callFn = fn; + fn = null; + callFn.apply(this, arguments); + }; } - function _arrayEach(arr, iterator) { - var index = -1, - length = arr.length; + var iteratorSymbol = typeof Symbol === 'function' && Symbol.iterator; - while (++index < length) { - iterator(arr[index], index, arr); - } - } + var getIterator = function (coll) { + return iteratorSymbol && coll[iteratorSymbol] && coll[iteratorSymbol](); + }; - function _map(arr, iterator) { + /** + * The base implementation of `_.times` without support for iteratee shorthands + * or max array length checks. + * + * @private + * @param {number} n The number of times to invoke `iteratee`. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the array of results. + */ + function baseTimes(n, iteratee) { var index = -1, - length = arr.length, - result = Array(length); + result = Array(n); - while (++index < length) { - result[index] = iterator(arr[index], index, arr); + while (++index < n) { + result[index] = iteratee(index); } return result; } - function _range(count) { - return _map(Array(count), function (v, i) { return i; }); + /** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ + function isObjectLike(value) { + return value != null && typeof value == 'object'; } - function _reduce(arr, iterator, memo) { - _arrayEach(arr, function (x, i, a) { - memo = iterator(memo, x, i, a); - }); - return memo; + /** `Object#toString` result references. */ + var argsTag = '[object Arguments]'; + + /** + * The base implementation of `_.isArguments`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + */ + function baseIsArguments(value) { + return isObjectLike(value) && baseGetTag(value) == argsTag; } - function _forEachOf(object, iterator) { - _arrayEach(_keys(object), function (key) { - iterator(object[key], key); - }); + /** Used for built-in method references. */ + var objectProto$3 = Object.prototype; + + /** Used to check objects for own properties. */ + var hasOwnProperty$2 = objectProto$3.hasOwnProperty; + + /** Built-in value references. */ + var propertyIsEnumerable = objectProto$3.propertyIsEnumerable; + + /** + * Checks if `value` is likely an `arguments` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + * else `false`. + * @example + * + * _.isArguments(function() { return arguments; }()); + * // => true + * + * _.isArguments([1, 2, 3]); + * // => false + */ + var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { + return isObjectLike(value) && hasOwnProperty$2.call(value, 'callee') && + !propertyIsEnumerable.call(value, 'callee'); + }; + + /** + * Checks if `value` is classified as an `Array` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array, else `false`. + * @example + * + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(document.body.children); + * // => false + * + * _.isArray('abc'); + * // => false + * + * _.isArray(_.noop); + * // => false + */ + var isArray = Array.isArray; + + /** + * This method returns `false`. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {boolean} Returns `false`. + * @example + * + * _.times(2, _.stubFalse); + * // => [false, false] + */ + function stubFalse() { + return false; } - function _indexOf(arr, item) { - for (var i = 0; i < arr.length; i++) { - if (arr[i] === item) return i; - } - return -1; + /** Detect free variable `exports`. */ + var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; + + /** Detect free variable `module`. */ + var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + + /** Detect the popular CommonJS extension `module.exports`. */ + var moduleExports = freeModule && freeModule.exports === freeExports; + + /** Built-in value references. */ + var Buffer = moduleExports ? root.Buffer : undefined; + + /* Built-in method references for those with the same name as other `lodash` methods. */ + var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined; + + /** + * Checks if `value` is a buffer. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. + * @example + * + * _.isBuffer(new Buffer(2)); + * // => true + * + * _.isBuffer(new Uint8Array(2)); + * // => false + */ + var isBuffer = nativeIsBuffer || stubFalse; + + /** Used as references for various `Number` constants. */ + var MAX_SAFE_INTEGER$1 = 9007199254740991; + + /** Used to detect unsigned integer values. */ + var reIsUint = /^(?:0|[1-9]\d*)$/; + + /** + * Checks if `value` is a valid array-like index. + * + * @private + * @param {*} value The value to check. + * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. + * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. + */ + function isIndex(value, length) { + length = length == null ? MAX_SAFE_INTEGER$1 : length; + return !!length && + (typeof value == 'number' || reIsUint.test(value)) && + (value > -1 && value % 1 == 0 && value < length); } - var _keys = Object.keys || function (obj) { - var keys = []; - for (var k in obj) { - if (obj.hasOwnProperty(k)) { - keys.push(k); - } - } - return keys; + /** `Object#toString` result references. */ + var argsTag$1 = '[object Arguments]'; + var arrayTag = '[object Array]'; + var boolTag = '[object Boolean]'; + var dateTag = '[object Date]'; + var errorTag = '[object Error]'; + var funcTag$1 = '[object Function]'; + var mapTag = '[object Map]'; + var numberTag = '[object Number]'; + var objectTag = '[object Object]'; + var regexpTag = '[object RegExp]'; + var setTag = '[object Set]'; + var stringTag = '[object String]'; + var weakMapTag = '[object WeakMap]'; + + var arrayBufferTag = '[object ArrayBuffer]'; + var dataViewTag = '[object DataView]'; + var float32Tag = '[object Float32Array]'; + var float64Tag = '[object Float64Array]'; + var int8Tag = '[object Int8Array]'; + var int16Tag = '[object Int16Array]'; + var int32Tag = '[object Int32Array]'; + var uint8Tag = '[object Uint8Array]'; + var uint8ClampedTag = '[object Uint8ClampedArray]'; + var uint16Tag = '[object Uint16Array]'; + var uint32Tag = '[object Uint32Array]'; + + /** Used to identify `toStringTag` values of typed arrays. */ + var typedArrayTags = {}; + typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = + typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = + typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = + typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = + typedArrayTags[uint32Tag] = true; + typedArrayTags[argsTag$1] = typedArrayTags[arrayTag] = + typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = + typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = + typedArrayTags[errorTag] = typedArrayTags[funcTag$1] = + typedArrayTags[mapTag] = typedArrayTags[numberTag] = + typedArrayTags[objectTag] = typedArrayTags[regexpTag] = + typedArrayTags[setTag] = typedArrayTags[stringTag] = + typedArrayTags[weakMapTag] = false; + + /** + * The base implementation of `_.isTypedArray` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + */ + function baseIsTypedArray(value) { + return isObjectLike(value) && + isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; + } + + /** + * The base implementation of `_.unary` without support for storing metadata. + * + * @private + * @param {Function} func The function to cap arguments for. + * @returns {Function} Returns the new capped function. + */ + function baseUnary(func) { + return function(value) { + return func(value); }; + } - function _keyIterator(coll) { - var i = -1; - var len; - var keys; - if (_isArrayLike(coll)) { - len = coll.length; - return function next() { - i++; - return i < len ? i : null; - }; - } else { - keys = _keys(coll); - len = keys.length; - return function next() { - i++; - return i < len ? keys[i] : null; - }; + /** Detect free variable `exports`. */ + var freeExports$1 = typeof exports == 'object' && exports && !exports.nodeType && exports; + + /** Detect free variable `module`. */ + var freeModule$1 = freeExports$1 && typeof module == 'object' && module && !module.nodeType && module; + + /** Detect the popular CommonJS extension `module.exports`. */ + var moduleExports$1 = freeModule$1 && freeModule$1.exports === freeExports$1; + + /** Detect free variable `process` from Node.js. */ + var freeProcess = moduleExports$1 && freeGlobal.process; + + /** Used to access faster Node.js helpers. */ + var nodeUtil = (function() { + try { + return freeProcess && freeProcess.binding('util'); + } catch (e) {} + }()); + + /* Node.js helper references. */ + var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; + + /** + * Checks if `value` is classified as a typed array. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + * @example + * + * _.isTypedArray(new Uint8Array); + * // => true + * + * _.isTypedArray([]); + * // => false + */ + var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; + + /** Used for built-in method references. */ + var objectProto$2 = Object.prototype; + + /** Used to check objects for own properties. */ + var hasOwnProperty$1 = objectProto$2.hasOwnProperty; + + /** + * Creates an array of the enumerable property names of the array-like `value`. + * + * @private + * @param {*} value The value to query. + * @param {boolean} inherited Specify returning inherited property names. + * @returns {Array} Returns the array of property names. + */ + function arrayLikeKeys(value, inherited) { + var isArr = isArray(value), + isArg = !isArr && isArguments(value), + isBuff = !isArr && !isArg && isBuffer(value), + isType = !isArr && !isArg && !isBuff && isTypedArray(value), + skipIndexes = isArr || isArg || isBuff || isType, + result = skipIndexes ? baseTimes(value.length, String) : [], + length = result.length; + + for (var key in value) { + if ((inherited || hasOwnProperty$1.call(value, key)) && + !(skipIndexes && ( + // Safari 9 has enumerable `arguments.length` in strict mode. + key == 'length' || + // Node.js 0.10 has enumerable non-index properties on buffers. + (isBuff && (key == 'offset' || key == 'parent')) || + // PhantomJS 2 has enumerable non-index properties on typed arrays. + (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) || + // Skip index properties. + isIndex(key, length) + ))) { + result.push(key); + } } + return result; } - // Similar to ES6's rest param (http://ariya.ofilabs.com/2013/03/es6-and-rest-parameter.html) - // This accumulates the arguments passed into an array, after a given index. - // From underscore.js (https://github.com/jashkenas/underscore/pull/2140). - function _restParam(func, startIndex) { - startIndex = startIndex == null ? func.length - 1 : +startIndex; - return function() { - var length = Math.max(arguments.length - startIndex, 0); - var rest = Array(length); - for (var index = 0; index < length; index++) { - rest[index] = arguments[index + startIndex]; - } - switch (startIndex) { - case 0: return func.call(this, rest); - case 1: return func.call(this, arguments[0], rest); - } - // Currently unused but handle cases outside of the switch statement: - // var args = Array(startIndex + 1); - // for (index = 0; index < startIndex; index++) { - // args[index] = arguments[index]; - // } - // args[startIndex] = rest; - // return func.apply(this, args); - }; + /** Used for built-in method references. */ + var objectProto$5 = Object.prototype; + + /** + * Checks if `value` is likely a prototype object. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. + */ + function isPrototype(value) { + var Ctor = value && value.constructor, + proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto$5; + + return value === proto; } - function _withoutIndex(iterator) { - return function (value, index, callback) { - return iterator(value, callback); + /** + * Creates a unary function that invokes `func` with its argument transformed. + * + * @private + * @param {Function} func The function to wrap. + * @param {Function} transform The argument transform. + * @returns {Function} Returns the new function. + */ + function overArg(func, transform) { + return function(arg) { + return func(transform(arg)); }; } - //// exported async module functions //// - - //// nextTick implementation with browser-compatible fallback //// - - // capture the global reference to guard against fakeTimer mocks - var _setImmediate = typeof setImmediate === 'function' && setImmediate; - - var _delay = _setImmediate ? function(fn) { - // not a direct alias for IE10 compatibility - _setImmediate(fn); - } : function(fn) { - setTimeout(fn, 0); - }; - - if (typeof process === 'object' && typeof process.nextTick === 'function') { - async.nextTick = process.nextTick; - } else { - async.nextTick = _delay; + /* Built-in method references for those with the same name as other `lodash` methods. */ + var nativeKeys = overArg(Object.keys, Object); + + /** Used for built-in method references. */ + var objectProto$4 = Object.prototype; + + /** Used to check objects for own properties. */ + var hasOwnProperty$3 = objectProto$4.hasOwnProperty; + + /** + * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ + function baseKeys(object) { + if (!isPrototype(object)) { + return nativeKeys(object); + } + var result = []; + for (var key in Object(object)) { + if (hasOwnProperty$3.call(object, key) && key != 'constructor') { + result.push(key); + } + } + return result; } - async.setImmediate = _setImmediate ? _delay : async.nextTick; + /** + * Creates an array of the own enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. See the + * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * for more details. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keys(new Foo); + * // => ['a', 'b'] (iteration order is not guaranteed) + * + * _.keys('hi'); + * // => ['0', '1'] + */ + function keys(object) { + return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); + } - async.forEach = - async.each = function (arr, iterator, callback) { - return async.eachOf(arr, _withoutIndex(iterator), callback); + function createArrayIterator(coll) { + var i = -1; + var len = coll.length; + return function next() { + return ++i < len ? { value: coll[i], key: i } : null; }; + } - async.forEachSeries = - async.eachSeries = function (arr, iterator, callback) { - return async.eachOfSeries(arr, _withoutIndex(iterator), callback); + function createES2015Iterator(iterator) { + var i = -1; + return function next() { + var item = iterator.next(); + if (item.done) return null; + i++; + return { value: item.value, key: i }; }; + } - - async.forEachLimit = - async.eachLimit = function (arr, limit, iterator, callback) { - return _eachOfLimit(limit)(arr, _withoutIndex(iterator), callback); + function createObjectIterator(obj) { + var okeys = keys(obj); + var i = -1; + var len = okeys.length; + return function next() { + var key = okeys[++i]; + return i < len ? { value: obj[key], key: key } : null; }; + } - async.forEachOf = - async.eachOf = function (object, iterator, callback) { - callback = _once(callback || noop); - object = object || []; - - var iter = _keyIterator(object); - var key, completed = 0; - - while ((key = iter()) != null) { - completed += 1; - iterator(object[key], key, only_once(done)); - } - - if (completed === 0) callback(null); + function iterator(coll) { + if (isArrayLike(coll)) { + return createArrayIterator(coll); + } - function done(err) { - completed--; - if (err) { - callback(err); - } - // Check key is null in case iterator isn't exhausted - // and done resolved synchronously. - else if (key === null && completed <= 0) { - callback(null); - } - } - }; + var iterator = getIterator(coll); + return iterator ? createES2015Iterator(iterator) : createObjectIterator(coll); + } - async.forEachOfSeries = - async.eachOfSeries = function (obj, iterator, callback) { - callback = _once(callback || noop); - obj = obj || []; - var nextKey = _keyIterator(obj); - var key = nextKey(); - function iterate() { - var sync = true; - if (key === null) { - return callback(null); - } - iterator(obj[key], key, only_once(function (err) { - if (err) { - callback(err); - } - else { - key = nextKey(); - if (key === null) { - return callback(null); - } else { - if (sync) { - async.setImmediate(iterate); - } else { - iterate(); - } - } - } - })); - sync = false; - } - iterate(); + function onlyOnce(fn) { + return function () { + if (fn === null) throw new Error("Callback was already called."); + var callFn = fn; + fn = null; + callFn.apply(this, arguments); }; + } - - - async.forEachOfLimit = - async.eachOfLimit = function (obj, limit, iterator, callback) { - _eachOfLimit(limit)(obj, iterator, callback); - }; +// A temporary value used to identify if the loop should be broken. +// See #1064, #1293 + var breakLoop = {}; function _eachOfLimit(limit) { - - return function (obj, iterator, callback) { - callback = _once(callback || noop); - obj = obj || []; - var nextKey = _keyIterator(obj); - if (limit <= 0) { + return function (obj, iteratee, callback) { + callback = once(callback || noop); + if (limit <= 0 || !obj) { return callback(null); } + var nextElem = iterator(obj); var done = false; var running = 0; - var errored = false; - (function replenish () { - if (done && running <= 0) { + function iterateeCallback(err, value) { + running -= 1; + if (err) { + done = true; + callback(err); + } else if (value === breakLoop || done && running <= 0) { + done = true; return callback(null); + } else { + replenish(); } + } - while (running < limit && !errored) { - var key = nextKey(); - if (key === null) { + function replenish() { + while (running < limit && !done) { + var elem = nextElem(); + if (elem === null) { done = true; if (running <= 0) { callback(null); @@ -316,44 +879,133 @@ return; } running += 1; - iterator(obj[key], key, only_once(function (err) { - running -= 1; - if (err) { - callback(err); - errored = true; - } - else { - replenish(); - } - })); + iteratee(elem.value, elem.key, onlyOnce(iterateeCallback)); } - })(); + } + + replenish(); }; } + /** + * The same as [`eachOf`]{@link module:Collections.eachOf} but runs a maximum of `limit` async operations at a + * time. + * + * @name eachOfLimit + * @static + * @memberOf module:Collections + * @method + * @see [async.eachOf]{@link module:Collections.eachOf} + * @alias forEachOfLimit + * @category Collection + * @param {Array|Iterable|Object} coll - A collection to iterate over. + * @param {number} limit - The maximum number of async operations at a time. + * @param {Function} iteratee - A function to apply to each + * item in `coll`. The `key` is the item's key, or index in the case of an + * array. The iteratee is passed a `callback(err)` which must be called once it + * has completed. If no error has occurred, the callback should be run without + * arguments or with an explicit `null` argument. Invoked with + * (item, key, callback). + * @param {Function} [callback] - A callback which is called when all + * `iteratee` functions have finished, or an error occurs. Invoked with (err). + */ + function eachOfLimit(coll, limit, iteratee, callback) { + _eachOfLimit(limit)(coll, iteratee, callback); + } - function doParallel(fn) { - return function (obj, iterator, callback) { - return fn(async.eachOf, obj, iterator, callback); + function doLimit(fn, limit) { + return function (iterable, iteratee, callback) { + return fn(iterable, limit, iteratee, callback); }; } - function doParallelLimit(fn) { - return function (obj, limit, iterator, callback) { - return fn(_eachOfLimit(limit), obj, iterator, callback); - }; + +// eachOf implementation optimized for array-likes + function eachOfArrayLike(coll, iteratee, callback) { + callback = once(callback || noop); + var index = 0, + completed = 0, + length = coll.length; + if (length === 0) { + callback(null); + } + + function iteratorCallback(err) { + if (err) { + callback(err); + } else if (++completed === length) { + callback(null); + } + } + + for (; index < length; index++) { + iteratee(coll[index], index, onlyOnce(iteratorCallback)); + } } - function doSeries(fn) { - return function (obj, iterator, callback) { - return fn(async.eachOfSeries, obj, iterator, callback); + +// a generic version of eachOf which can handle array, object, and iterator cases. + var eachOfGeneric = doLimit(eachOfLimit, Infinity); + + /** + * Like [`each`]{@link module:Collections.each}, except that it passes the key (or index) as the second argument + * to the iteratee. + * + * @name eachOf + * @static + * @memberOf module:Collections + * @method + * @alias forEachOf + * @category Collection + * @see [async.each]{@link module:Collections.each} + * @param {Array|Iterable|Object} coll - A collection to iterate over. + * @param {Function} iteratee - A function to apply to each + * item in `coll`. The `key` is the item's key, or index in the case of an + * array. The iteratee is passed a `callback(err)` which must be called once it + * has completed. If no error has occurred, the callback should be run without + * arguments or with an explicit `null` argument. Invoked with + * (item, key, callback). + * @param {Function} [callback] - A callback which is called when all + * `iteratee` functions have finished, or an error occurs. Invoked with (err). + * @example + * + * var obj = {dev: "/dev.json", test: "/test.json", prod: "/prod.json"}; + * var configs = {}; + * + * async.forEachOf(obj, function (value, key, callback) { + * fs.readFile(__dirname + value, "utf8", function (err, data) { + * if (err) return callback(err); + * try { + * configs[key] = JSON.parse(data); + * } catch (e) { + * return callback(e); + * } + * callback(); + * }); + * }, function (err) { + * if (err) console.error(err.message); + * // configs is now a map of JSON data + * doSomethingWith(configs); + * }); + */ + var eachOf = function (coll, iteratee, callback) { + var eachOfImplementation = isArrayLike(coll) ? eachOfArrayLike : eachOfGeneric; + eachOfImplementation(coll, iteratee, callback); + }; + + function doParallel(fn) { + return function (obj, iteratee, callback) { + return fn(eachOf, obj, iteratee, callback); }; } - function _asyncMap(eachfn, arr, iterator, callback) { - callback = _once(callback || noop); + function _asyncMap(eachfn, arr, iteratee, callback) { + callback = callback || noop; arr = arr || []; - var results = _isArrayLike(arr) ? [] : {}; - eachfn(arr, function (value, index, callback) { - iterator(value, function (err, v) { + var results = []; + var counter = 0; + + eachfn(arr, function (value, _, callback) { + var index = counter++; + iteratee(value, function (err, v) { results[index] = v; callback(err); }); @@ -362,595 +1014,1293 @@ }); } - async.map = doParallel(_asyncMap); - async.mapSeries = doSeries(_asyncMap); - async.mapLimit = doParallelLimit(_asyncMap); - - // reduce only has a series version, as doing reduce in parallel won't - // work in many situations. - async.inject = - async.foldl = - async.reduce = function (arr, memo, iterator, callback) { - async.eachOfSeries(arr, function (x, i, callback) { - iterator(memo, x, function (err, v) { - memo = v; - callback(err); - }); - }, function (err) { - callback(err, memo); - }); - }; + /** + * Produces a new collection of values by mapping each value in `coll` through + * the `iteratee` function. The `iteratee` is called with an item from `coll` + * and a callback for when it has finished processing. Each of these callback + * takes 2 arguments: an `error`, and the transformed item from `coll`. If + * `iteratee` passes an error to its callback, the main `callback` (for the + * `map` function) is immediately called with the error. + * + * Note, that since this function applies the `iteratee` to each item in + * parallel, there is no guarantee that the `iteratee` functions will complete + * in order. However, the results array will be in the same order as the + * original `coll`. + * + * If `map` is passed an Object, the results will be an Array. The results + * will roughly be in the order of the original Objects' keys (but this can + * vary across JavaScript engines) + * + * @name map + * @static + * @memberOf module:Collections + * @method + * @category Collection + * @param {Array|Iterable|Object} coll - A collection to iterate over. + * @param {Function} iteratee - A function to apply to each item in `coll`. + * The iteratee is passed a `callback(err, transformed)` which must be called + * once it has completed with an error (which can be `null`) and a + * transformed item. Invoked with (item, callback). + * @param {Function} [callback] - A callback which is called when all `iteratee` + * functions have finished, or an error occurs. Results is an Array of the + * transformed items from the `coll`. Invoked with (err, results). + * @example + * + * async.map(['file1','file2','file3'], fs.stat, function(err, results) { + * // results is now an array of stats for each file + * }); + */ + var map = doParallel(_asyncMap); + + /** + * Applies the provided arguments to each function in the array, calling + * `callback` after all functions have completed. If you only provide the first + * argument, `fns`, then it will return a function which lets you pass in the + * arguments as if it were a single function call. If more arguments are + * provided, `callback` is required while `args` is still optional. + * + * @name applyEach + * @static + * @memberOf module:ControlFlow + * @method + * @category Control Flow + * @param {Array|Iterable|Object} fns - A collection of asynchronous functions + * to all call with the same arguments + * @param {...*} [args] - any number of separate arguments to pass to the + * function. + * @param {Function} [callback] - the final argument should be the callback, + * called when all functions have completed processing. + * @returns {Function} - If only the first argument, `fns`, is provided, it will + * return a function which lets you pass in the arguments as if it were a single + * function call. The signature is `(..args, callback)`. If invoked with any + * arguments, `callback` is required. + * @example + * + * async.applyEach([enableSearch, updateSchema], 'bucket', callback); + * + * // partial application example: + * async.each( + * buckets, + * async.applyEach([enableSearch, updateSchema]), + * callback + * ); + */ + var applyEach = applyEach$1(map); - async.foldr = - async.reduceRight = function (arr, memo, iterator, callback) { - var reversed = _map(arr, identity).reverse(); - async.reduce(reversed, memo, iterator, callback); + function doParallelLimit(fn) { + return function (obj, limit, iteratee, callback) { + return fn(_eachOfLimit(limit), obj, iteratee, callback); }; + } - async.transform = function (arr, memo, iterator, callback) { - if (arguments.length === 3) { - callback = iterator; - iterator = memo; - memo = _isArray(arr) ? [] : {}; - } - - async.eachOf(arr, function(v, k, cb) { - iterator(memo, v, k, cb); - }, function(err) { - callback(err, memo); + /** + * The same as [`map`]{@link module:Collections.map} but runs a maximum of `limit` async operations at a time. + * + * @name mapLimit + * @static + * @memberOf module:Collections + * @method + * @see [async.map]{@link module:Collections.map} + * @category Collection + * @param {Array|Iterable|Object} coll - A collection to iterate over. + * @param {number} limit - The maximum number of async operations at a time. + * @param {Function} iteratee - A function to apply to each item in `coll`. + * The iteratee is passed a `callback(err, transformed)` which must be called + * once it has completed with an error (which can be `null`) and a transformed + * item. Invoked with (item, callback). + * @param {Function} [callback] - A callback which is called when all `iteratee` + * functions have finished, or an error occurs. Results is an array of the + * transformed items from the `coll`. Invoked with (err, results). + */ + var mapLimit = doParallelLimit(_asyncMap); + + /** + * The same as [`map`]{@link module:Collections.map} but runs only a single async operation at a time. + * + * @name mapSeries + * @static + * @memberOf module:Collections + * @method + * @see [async.map]{@link module:Collections.map} + * @category Collection + * @param {Array|Iterable|Object} coll - A collection to iterate over. + * @param {Function} iteratee - A function to apply to each item in `coll`. + * The iteratee is passed a `callback(err, transformed)` which must be called + * once it has completed with an error (which can be `null`) and a + * transformed item. Invoked with (item, callback). + * @param {Function} [callback] - A callback which is called when all `iteratee` + * functions have finished, or an error occurs. Results is an array of the + * transformed items from the `coll`. Invoked with (err, results). + */ + var mapSeries = doLimit(mapLimit, 1); + + /** + * The same as [`applyEach`]{@link module:ControlFlow.applyEach} but runs only a single async operation at a time. + * + * @name applyEachSeries + * @static + * @memberOf module:ControlFlow + * @method + * @see [async.applyEach]{@link module:ControlFlow.applyEach} + * @category Control Flow + * @param {Array|Iterable|Object} fns - A collection of asynchronous functions to all + * call with the same arguments + * @param {...*} [args] - any number of separate arguments to pass to the + * function. + * @param {Function} [callback] - the final argument should be the callback, + * called when all functions have completed processing. + * @returns {Function} - If only the first argument is provided, it will return + * a function which lets you pass in the arguments as if it were a single + * function call. + */ + var applyEachSeries = applyEach$1(mapSeries); + + /** + * Creates a continuation function with some arguments already applied. + * + * Useful as a shorthand when combined with other control flow functions. Any + * arguments passed to the returned function are added to the arguments + * originally passed to apply. + * + * @name apply + * @static + * @memberOf module:Utils + * @method + * @category Util + * @param {Function} function - The function you want to eventually apply all + * arguments to. Invokes with (arguments...). + * @param {...*} arguments... - Any number of arguments to automatically apply + * when the continuation is called. + * @example + * + * // using apply + * async.parallel([ + * async.apply(fs.writeFile, 'testfile1', 'test1'), + * async.apply(fs.writeFile, 'testfile2', 'test2') + * ]); + * + * + * // the same process without using apply + * async.parallel([ + * function(callback) { + * fs.writeFile('testfile1', 'test1', callback); + * }, + * function(callback) { + * fs.writeFile('testfile2', 'test2', callback); + * } + * ]); + * + * // It's possible to pass any number of additional arguments when calling the + * // continuation: + * + * node> var fn = async.apply(sys.puts, 'one'); + * node> fn('two', 'three'); + * one + * two + * three + */ + var apply$2 = rest(function (fn, args) { + return rest(function (callArgs) { + return fn.apply(null, args.concat(callArgs)); }); - }; + }); - function _filter(eachfn, arr, iterator, callback) { - var results = []; - eachfn(arr, function (x, index, callback) { - iterator(x, function (v) { - if (v) { - results.push({index: index, value: x}); - } - callback(); - }); - }, function () { - callback(_map(results.sort(function (a, b) { - return a.index - b.index; - }), function (x) { - return x.value; - })); + /** + * Take a sync function and make it async, passing its return value to a + * callback. This is useful for plugging sync functions into a waterfall, + * series, or other async functions. Any arguments passed to the generated + * function will be passed to the wrapped function (except for the final + * callback argument). Errors thrown will be passed to the callback. + * + * If the function passed to `asyncify` returns a Promise, that promises's + * resolved/rejected state will be used to call the callback, rather than simply + * the synchronous return value. + * + * This also means you can asyncify ES2016 `async` functions. + * + * @name asyncify + * @static + * @memberOf module:Utils + * @method + * @alias wrapSync + * @category Util + * @param {Function} func - The synchronous function to convert to an + * asynchronous function. + * @returns {Function} An asynchronous wrapper of the `func`. To be invoked with + * (callback). + * @example + * + * // passing a regular synchronous function + * async.waterfall([ + * async.apply(fs.readFile, filename, "utf8"), + * async.asyncify(JSON.parse), + * function (data, next) { + * // data is the result of parsing the text. + * // If there was a parsing error, it would have been caught. + * } + * ], callback); + * + * // passing a function returning a promise + * async.waterfall([ + * async.apply(fs.readFile, filename, "utf8"), + * async.asyncify(function (contents) { + * return db.model.create(contents); + * }), + * function (model, next) { + * // `model` is the instantiated model object. + * // If there was an error, this function would be skipped. + * } + * ], callback); + * + * // es6 example + * var q = async.queue(async.asyncify(async function(file) { + * var intermediateStep = await processFile(file); + * return await somePromise(intermediateStep) + * })); + * + * q.push(files); + */ + function asyncify(func) { + return initialParams(function (args, callback) { + var result; + try { + result = func.apply(this, args); + } catch (e) { + return callback(e); + } + // if result is Promise object + if (isObject(result) && typeof result.then === 'function') { + result.then(function (value) { + callback(null, value); + }, function (err) { + callback(err.message ? err : new Error(err)); + }); + } else { + callback(null, result); + } }); } - async.select = - async.filter = doParallel(_filter); - - async.selectLimit = - async.filterLimit = doParallelLimit(_filter); - - async.selectSeries = - async.filterSeries = doSeries(_filter); + /** + * A specialized version of `_.forEach` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns `array`. + */ + function arrayEach(array, iteratee) { + var index = -1, + length = array == null ? 0 : array.length; - function _reject(eachfn, arr, iterator, callback) { - _filter(eachfn, arr, function(value, cb) { - iterator(value, function(v) { - cb(!v); - }); - }, callback); + while (++index < length) { + if (iteratee(array[index], index, array) === false) { + break; + } + } + return array; } - async.reject = doParallel(_reject); - async.rejectLimit = doParallelLimit(_reject); - async.rejectSeries = doSeries(_reject); - function _createTester(eachfn, check, getResult) { - return function(arr, limit, iterator, cb) { - function done() { - if (cb) cb(getResult(false, void 0)); - } - function iteratee(x, _, callback) { - if (!cb) return callback(); - iterator(x, function (v) { - if (cb && check(v)) { - cb(getResult(true, x)); - cb = iterator = false; - } - callback(); - }); - } - if (arguments.length > 3) { - eachfn(arr, limit, iteratee, done); - } else { - cb = iterator; - iterator = limit; - eachfn(arr, iteratee, done); + /** + * Creates a base function for methods like `_.forIn` and `_.forOwn`. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ + function createBaseFor(fromRight) { + return function(object, iteratee, keysFunc) { + var index = -1, + iterable = Object(object), + props = keysFunc(object), + length = props.length; + + while (length--) { + var key = props[fromRight ? length : ++index]; + if (iteratee(iterable[key], key, iterable) === false) { + break; + } } + return object; }; } - async.any = - async.some = _createTester(async.eachOf, toBool, identity); - - async.someLimit = _createTester(async.eachOfLimit, toBool, identity); - - async.all = - async.every = _createTester(async.eachOf, notId, notId); - - async.everyLimit = _createTester(async.eachOfLimit, notId, notId); - - function _findGetResult(v, x) { - return x; + /** + * The base implementation of `baseForOwn` which iterates over `object` + * properties returned by `keysFunc` and invokes `iteratee` for each property. + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {Function} keysFunc The function to get the keys of `object`. + * @returns {Object} Returns `object`. + */ + var baseFor = createBaseFor(); + + /** + * The base implementation of `_.forOwn` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Object} Returns `object`. + */ + function baseForOwn(object, iteratee) { + return object && baseFor(object, iteratee, keys); } - async.detect = _createTester(async.eachOf, identity, _findGetResult); - async.detectSeries = _createTester(async.eachOfSeries, identity, _findGetResult); - async.detectLimit = _createTester(async.eachOfLimit, identity, _findGetResult); - async.sortBy = function (arr, iterator, callback) { - async.map(arr, function (x, callback) { - iterator(x, function (err, criteria) { - if (err) { - callback(err); - } - else { - callback(null, {value: x, criteria: criteria}); - } - }); - }, function (err, results) { - if (err) { - return callback(err); - } - else { - callback(null, _map(results.sort(comparator), function (x) { - return x.value; - })); + /** + * The base implementation of `_.findIndex` and `_.findLastIndex` without + * support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} predicate The function invoked per iteration. + * @param {number} fromIndex The index to search from. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function baseFindIndex(array, predicate, fromIndex, fromRight) { + var length = array.length, + index = fromIndex + (fromRight ? 1 : -1); + + while ((fromRight ? index-- : ++index < length)) { + if (predicate(array[index], index, array)) { + return index; } + } + return -1; + } - }); + /** + * The base implementation of `_.isNaN` without support for number objects. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. + */ + function baseIsNaN(value) { + return value !== value; + } - function comparator(left, right) { - var a = left.criteria, b = right.criteria; - return a < b ? -1 : a > b ? 1 : 0; + /** + * A specialized version of `_.indexOf` which performs strict equality + * comparisons of values, i.e. `===`. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function strictIndexOf(array, value, fromIndex) { + var index = fromIndex - 1, + length = array.length; + + while (++index < length) { + if (array[index] === value) { + return index; + } } - }; + return -1; + } + + /** + * The base implementation of `_.indexOf` without `fromIndex` bounds checks. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function baseIndexOf(array, value, fromIndex) { + return value === value + ? strictIndexOf(array, value, fromIndex) + : baseFindIndex(array, baseIsNaN, fromIndex); + } - async.auto = function (tasks, concurrency, callback) { - if (!callback) { + /** + * Determines the best order for running the functions in `tasks`, based on + * their requirements. Each function can optionally depend on other functions + * being completed first, and each function is run as soon as its requirements + * are satisfied. + * + * If any of the functions pass an error to their callback, the `auto` sequence + * will stop. Further tasks will not execute (so any other functions depending + * on it will not run), and the main `callback` is immediately called with the + * error. + * + * Functions also receive an object containing the results of functions which + * have completed so far as the first argument, if they have dependencies. If a + * task function has no dependencies, it will only be passed a callback. + * + * @name auto + * @static + * @memberOf module:ControlFlow + * @method + * @category Control Flow + * @param {Object} tasks - An object. Each of its properties is either a + * function or an array of requirements, with the function itself the last item + * in the array. The object's key of a property serves as the name of the task + * defined by that property, i.e. can be used when specifying requirements for + * other tasks. The function receives one or two arguments: + * * a `results` object, containing the results of the previously executed + * functions, only passed if the task has any dependencies, + * * a `callback(err, result)` function, which must be called when finished, + * passing an `error` (which can be `null`) and the result of the function's + * execution. + * @param {number} [concurrency=Infinity] - An optional `integer` for + * determining the maximum number of tasks that can be run in parallel. By + * default, as many as possible. + * @param {Function} [callback] - An optional callback which is called when all + * the tasks have been completed. It receives the `err` argument if any `tasks` + * pass an error to their callback. Results are always returned; however, if an + * error occurs, no further `tasks` will be performed, and the results object + * will only contain partial results. Invoked with (err, results). + * @returns undefined + * @example + * + * async.auto({ + * // this function will just be passed a callback + * readData: async.apply(fs.readFile, 'data.txt', 'utf-8'), + * showData: ['readData', function(results, cb) { + * // results.readData is the file's contents + * // ... + * }] + * }, callback); + * + * async.auto({ + * get_data: function(callback) { + * console.log('in get_data'); + * // async code to get some data + * callback(null, 'data', 'converted to array'); + * }, + * make_folder: function(callback) { + * console.log('in make_folder'); + * // async code to create a directory to store a file in + * // this is run at the same time as getting the data + * callback(null, 'folder'); + * }, + * write_file: ['get_data', 'make_folder', function(results, callback) { + * console.log('in write_file', JSON.stringify(results)); + * // once there is some data and the directory exists, + * // write the data to a file in the directory + * callback(null, 'filename'); + * }], + * email_link: ['write_file', function(results, callback) { + * console.log('in email_link', JSON.stringify(results)); + * // once the file is written let's email a link to it... + * // results.write_file contains the filename returned by write_file. + * callback(null, {'file':results.write_file, 'email':'user@example.com'}); + * }] + * }, function(err, results) { + * console.log('err = ', err); + * console.log('results = ', results); + * }); + */ + var auto = function (tasks, concurrency, callback) { + if (typeof concurrency === 'function') { // concurrency is optional, shift the args. callback = concurrency; concurrency = null; } - callback = _once(callback || noop); - var keys = _keys(tasks); - var remainingTasks = keys.length; - if (!remainingTasks) { + callback = once(callback || noop); + var keys$$1 = keys(tasks); + var numTasks = keys$$1.length; + if (!numTasks) { return callback(null); } if (!concurrency) { - concurrency = remainingTasks; + concurrency = numTasks; } var results = {}; var runningTasks = 0; + var hasError = false; + + var listeners = {}; + + var readyTasks = []; + + // for cycle detection: + var readyToCheck = []; // tasks that have been identified as reachable + // without the possibility of returning to an ancestor task + var uncheckedDependencies = {}; + + baseForOwn(tasks, function (task, key) { + if (!isArray(task)) { + // no dependencies + enqueueTask(key, [task]); + readyToCheck.push(key); + return; + } + + var dependencies = task.slice(0, task.length - 1); + var remainingDependencies = dependencies.length; + if (remainingDependencies === 0) { + enqueueTask(key, task); + readyToCheck.push(key); + return; + } + uncheckedDependencies[key] = remainingDependencies; + + arrayEach(dependencies, function (dependencyName) { + if (!tasks[dependencyName]) { + throw new Error('async.auto task `' + key + '` has a non-existent dependency in ' + dependencies.join(', ')); + } + addListener(dependencyName, function () { + remainingDependencies--; + if (remainingDependencies === 0) { + enqueueTask(key, task); + } + }); + }); + }); + + checkForDeadlocks(); + processQueue(); + + function enqueueTask(key, task) { + readyTasks.push(function () { + runTask(key, task); + }); + } - var listeners = []; - function addListener(fn) { - listeners.unshift(fn); + function processQueue() { + if (readyTasks.length === 0 && runningTasks === 0) { + return callback(null, results); + } + while (readyTasks.length && runningTasks < concurrency) { + var run = readyTasks.shift(); + run(); + } } - function removeListener(fn) { - var idx = _indexOf(listeners, fn); - if (idx >= 0) listeners.splice(idx, 1); + + function addListener(taskName, fn) { + var taskListeners = listeners[taskName]; + if (!taskListeners) { + taskListeners = listeners[taskName] = []; + } + + taskListeners.push(fn); } - function taskComplete() { - remainingTasks--; - _arrayEach(listeners.slice(0), function (fn) { + + function taskComplete(taskName) { + var taskListeners = listeners[taskName] || []; + arrayEach(taskListeners, function (fn) { fn(); }); + processQueue(); } - addListener(function () { - if (!remainingTasks) { - callback(null, results); - } - }); + function runTask(key, task) { + if (hasError) return; - _arrayEach(keys, function (k) { - var task = _isArray(tasks[k]) ? tasks[k]: [tasks[k]]; - var taskCallback = _restParam(function(err, args) { + var taskCallback = onlyOnce(rest(function (err, args) { runningTasks--; if (args.length <= 1) { args = args[0]; } if (err) { var safeResults = {}; - _forEachOf(results, function(val, rkey) { + baseForOwn(results, function (val, rkey) { safeResults[rkey] = val; }); - safeResults[k] = args; + safeResults[key] = args; + hasError = true; + listeners = []; + callback(err, safeResults); + } else { + results[key] = args; + taskComplete(key); } - else { - results[k] = args; - async.setImmediate(taskComplete); - } - }); - var requires = task.slice(0, task.length - 1); - // prevent dead-locks - var len = requires.length; - var dep; - while (len--) { - if (!(dep = tasks[requires[len]])) { - throw new Error('Has inexistant dependency'); - } - if (_isArray(dep) && _indexOf(dep, k) >= 0) { - throw new Error('Has cyclic dependencies'); - } - } - function ready() { - return runningTasks < concurrency && _reduce(requires, function (a, x) { - return (a && results.hasOwnProperty(x)); - }, true) && !results.hasOwnProperty(k); + })); + + runningTasks++; + var taskFn = task[task.length - 1]; + if (task.length > 1) { + taskFn(results, taskCallback); + } else { + taskFn(taskCallback); } - if (ready()) { - runningTasks++; - task[task.length - 1](taskCallback, results); + } + + function checkForDeadlocks() { + // Kahn's algorithm + // https://en.wikipedia.org/wiki/Topological_sorting#Kahn.27s_algorithm + // http://connalle.blogspot.com/2013/10/topological-sortingkahn-algorithm.html + var currentTask; + var counter = 0; + while (readyToCheck.length) { + currentTask = readyToCheck.pop(); + counter++; + arrayEach(getDependents(currentTask), function (dependent) { + if (--uncheckedDependencies[dependent] === 0) { + readyToCheck.push(dependent); + } + }); } - else { - addListener(listener); + + if (counter !== numTasks) { + throw new Error('async.auto cannot execute tasks due to a recursive dependency'); } - function listener() { - if (ready()) { - runningTasks++; - removeListener(listener); - task[task.length - 1](taskCallback, results); + } + + function getDependents(taskName) { + var result = []; + baseForOwn(tasks, function (task, key) { + if (isArray(task) && baseIndexOf(task, taskName, 0) >= 0) { + result.push(key); } - } - }); + }); + return result; + } }; + /** + * A specialized version of `_.map` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ + function arrayMap(array, iteratee) { + var index = -1, + length = array == null ? 0 : array.length, + result = Array(length); + while (++index < length) { + result[index] = iteratee(array[index], index, array); + } + return result; + } - async.retry = function(times, task, callback) { - var DEFAULT_TIMES = 5; - var DEFAULT_INTERVAL = 0; + /** `Object#toString` result references. */ + var symbolTag = '[object Symbol]'; + + /** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ + function isSymbol(value) { + return typeof value == 'symbol' || + (isObjectLike(value) && baseGetTag(value) == symbolTag); + } - var attempts = []; + /** Used as references for various `Number` constants. */ + var INFINITY = 1 / 0; + + /** Used to convert symbols to primitives and strings. */ + var symbolProto = Symbol$1 ? Symbol$1.prototype : undefined; + var symbolToString = symbolProto ? symbolProto.toString : undefined; + + /** + * The base implementation of `_.toString` which doesn't convert nullish + * values to empty strings. + * + * @private + * @param {*} value The value to process. + * @returns {string} Returns the string. + */ + function baseToString(value) { + // Exit early for strings to avoid a performance hit in some environments. + if (typeof value == 'string') { + return value; + } + if (isArray(value)) { + // Recursively convert values (susceptible to call stack limits). + return arrayMap(value, baseToString) + ''; + } + if (isSymbol(value)) { + return symbolToString ? symbolToString.call(value) : ''; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; + } - var opts = { - times: DEFAULT_TIMES, - interval: DEFAULT_INTERVAL - }; + /** + * The base implementation of `_.slice` without an iteratee call guard. + * + * @private + * @param {Array} array The array to slice. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the slice of `array`. + */ + function baseSlice(array, start, end) { + var index = -1, + length = array.length; - function parseTimes(acc, t){ - if(typeof t === 'number'){ - acc.times = parseInt(t, 10) || DEFAULT_TIMES; - } else if(typeof t === 'object'){ - acc.times = parseInt(t.times, 10) || DEFAULT_TIMES; - acc.interval = parseInt(t.interval, 10) || DEFAULT_INTERVAL; - } else { - throw new Error('Unsupported argument type for \'times\': ' + typeof t); - } + if (start < 0) { + start = -start > length ? 0 : (length + start); } - - var length = arguments.length; - if (length < 1 || length > 3) { - throw new Error('Invalid arguments - must be either (task), (task, callback), (times, task) or (times, task, callback)'); - } else if (length <= 2 && typeof times === 'function') { - callback = task; - task = times; + end = end > length ? length : end; + if (end < 0) { + end += length; } - if (typeof times !== 'function') { - parseTimes(opts, times); + length = start > end ? 0 : ((end - start) >>> 0); + start >>>= 0; + + var result = Array(length); + while (++index < length) { + result[index] = array[index + start]; } - opts.callback = callback; - opts.task = task; - - function wrappedTask(wrappedCallback, wrappedResults) { - function retryAttempt(task, finalAttempt) { - return function(seriesCallback) { - task(function(err, result){ - seriesCallback(!err || finalAttempt, {err: err, result: result}); - }, wrappedResults); - }; - } + return result; + } - function retryInterval(interval){ - return function(seriesCallback){ - setTimeout(function(){ - seriesCallback(null); - }, interval); - }; - } + /** + * Casts `array` to a slice if it's needed. + * + * @private + * @param {Array} array The array to inspect. + * @param {number} start The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the cast slice. + */ + function castSlice(array, start, end) { + var length = array.length; + end = end === undefined ? length : end; + return (!start && end >= length) ? array : baseSlice(array, start, end); + } - while (opts.times) { + /** + * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol + * that is not found in the character symbols. + * + * @private + * @param {Array} strSymbols The string symbols to inspect. + * @param {Array} chrSymbols The character symbols to find. + * @returns {number} Returns the index of the last unmatched string symbol. + */ + function charsEndIndex(strSymbols, chrSymbols) { + var index = strSymbols.length; + + while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} + return index; + } - var finalAttempt = !(opts.times-=1); - attempts.push(retryAttempt(opts.task, finalAttempt)); - if(!finalAttempt && opts.interval > 0){ - attempts.push(retryInterval(opts.interval)); - } - } + /** + * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol + * that is not found in the character symbols. + * + * @private + * @param {Array} strSymbols The string symbols to inspect. + * @param {Array} chrSymbols The character symbols to find. + * @returns {number} Returns the index of the first unmatched string symbol. + */ + function charsStartIndex(strSymbols, chrSymbols) { + var index = -1, + length = strSymbols.length; - async.series(attempts, function(done, data){ - data = data[data.length - 1]; - (wrappedCallback || opts.callback)(data.err, data.result); - }); - } + while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} + return index; + } - // If a callback is passed, run this as a controll flow - return opts.callback ? wrappedTask() : wrappedTask; - }; + /** + * Converts an ASCII `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ + function asciiToArray(string) { + return string.split(''); + } - async.waterfall = function (tasks, callback) { - callback = _once(callback || noop); - if (!_isArray(tasks)) { - var err = new Error('First argument to waterfall must be an array of functions'); - return callback(err); - } - if (!tasks.length) { - return callback(); + /** Used to compose unicode character classes. */ + var rsAstralRange = '\\ud800-\\udfff'; + var rsComboMarksRange = '\\u0300-\\u036f\\ufe20-\\ufe23'; + var rsComboSymbolsRange = '\\u20d0-\\u20f0'; + var rsVarRange = '\\ufe0e\\ufe0f'; + + /** Used to compose unicode capture groups. */ + var rsZWJ = '\\u200d'; + + /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */ + var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboMarksRange + rsComboSymbolsRange + rsVarRange + ']'); + + /** + * Checks if `string` contains Unicode symbols. + * + * @private + * @param {string} string The string to inspect. + * @returns {boolean} Returns `true` if a symbol is found, else `false`. + */ + function hasUnicode(string) { + return reHasUnicode.test(string); + } + + /** Used to compose unicode character classes. */ + var rsAstralRange$1 = '\\ud800-\\udfff'; + var rsComboMarksRange$1 = '\\u0300-\\u036f\\ufe20-\\ufe23'; + var rsComboSymbolsRange$1 = '\\u20d0-\\u20f0'; + var rsVarRange$1 = '\\ufe0e\\ufe0f'; + + /** Used to compose unicode capture groups. */ + var rsAstral = '[' + rsAstralRange$1 + ']'; + var rsCombo = '[' + rsComboMarksRange$1 + rsComboSymbolsRange$1 + ']'; + var rsFitz = '\\ud83c[\\udffb-\\udfff]'; + var rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')'; + var rsNonAstral = '[^' + rsAstralRange$1 + ']'; + var rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}'; + var rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]'; + var rsZWJ$1 = '\\u200d'; + + /** Used to compose unicode regexes. */ + var reOptMod = rsModifier + '?'; + var rsOptVar = '[' + rsVarRange$1 + ']?'; + var rsOptJoin = '(?:' + rsZWJ$1 + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*'; + var rsSeq = rsOptVar + reOptMod + rsOptJoin; + var rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')'; + + /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */ + var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g'); + + /** + * Converts a Unicode `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ + function unicodeToArray(string) { + return string.match(reUnicode) || []; + } + + /** + * Converts `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ + function stringToArray(string) { + return hasUnicode(string) + ? unicodeToArray(string) + : asciiToArray(string); + } + + /** + * Converts `value` to a string. An empty string is returned for `null` + * and `undefined` values. The sign of `-0` is preserved. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + * @example + * + * _.toString(null); + * // => '' + * + * _.toString(-0); + * // => '-0' + * + * _.toString([1, 2, 3]); + * // => '1,2,3' + */ + function toString(value) { + return value == null ? '' : baseToString(value); + } + + /** Used to match leading and trailing whitespace. */ + var reTrim = /^\s+|\s+$/g; + + /** + * Removes leading and trailing whitespace or specified characters from `string`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to trim. + * @param {string} [chars=whitespace] The characters to trim. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {string} Returns the trimmed string. + * @example + * + * _.trim(' abc '); + * // => 'abc' + * + * _.trim('-_-abc-_-', '_-'); + * // => 'abc' + * + * _.map([' foo ', ' bar '], _.trim); + * // => ['foo', 'bar'] + */ + function trim(string, chars, guard) { + string = toString(string); + if (string && (guard || chars === undefined)) { + return string.replace(reTrim, ''); } - function wrapIterator(iterator) { - return _restParam(function (err, args) { - if (err) { - callback.apply(null, [err].concat(args)); - } - else { - var next = iterator.next(); - if (next) { - args.push(wrapIterator(next)); - } - else { - args.push(callback); - } - ensureAsync(iterator).apply(null, args); - } - }); + if (!string || !(chars = baseToString(chars))) { + return string; } - wrapIterator(async.iterator(tasks))(); - }; + var strSymbols = stringToArray(string), + chrSymbols = stringToArray(chars), + start = charsStartIndex(strSymbols, chrSymbols), + end = charsEndIndex(strSymbols, chrSymbols) + 1; - function _parallel(eachfn, tasks, callback) { - callback = callback || noop; - var results = _isArrayLike(tasks) ? [] : {}; + return castSlice(strSymbols, start, end).join(''); + } - eachfn(tasks, function (task, key, callback) { - task(_restParam(function (err, args) { - if (args.length <= 1) { - args = args[0]; - } - results[key] = args; - callback(err); - })); - }, function (err) { - callback(err, results); + var FN_ARGS = /^(function)?\s*[^\(]*\(\s*([^\)]*)\)/m; + var FN_ARG_SPLIT = /,/; + var FN_ARG = /(=.+)?(\s*)$/; + var STRIP_COMMENTS = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg; + + function parseParams(func) { + func = func.toString().replace(STRIP_COMMENTS, ''); + func = func.match(FN_ARGS)[2].replace(' ', ''); + func = func ? func.split(FN_ARG_SPLIT) : []; + func = func.map(function (arg) { + return trim(arg.replace(FN_ARG, '')); }); + return func; } - async.parallel = function (tasks, callback) { - _parallel(async.eachOf, tasks, callback); - }; - - async.parallelLimit = function(tasks, limit, callback) { - _parallel(_eachOfLimit(limit), tasks, callback); - }; + /** + * A dependency-injected version of the [async.auto]{@link module:ControlFlow.auto} function. Dependent + * tasks are specified as parameters to the function, after the usual callback + * parameter, with the parameter names matching the names of the tasks it + * depends on. This can provide even more readable task graphs which can be + * easier to maintain. + * + * If a final callback is specified, the task results are similarly injected, + * specified as named parameters after the initial error parameter. + * + * The autoInject function is purely syntactic sugar and its semantics are + * otherwise equivalent to [async.auto]{@link module:ControlFlow.auto}. + * + * @name autoInject + * @static + * @memberOf module:ControlFlow + * @method + * @see [async.auto]{@link module:ControlFlow.auto} + * @category Control Flow + * @param {Object} tasks - An object, each of whose properties is a function of + * the form 'func([dependencies...], callback). The object's key of a property + * serves as the name of the task defined by that property, i.e. can be used + * when specifying requirements for other tasks. + * * The `callback` parameter is a `callback(err, result)` which must be called + * when finished, passing an `error` (which can be `null`) and the result of + * the function's execution. The remaining parameters name other tasks on + * which the task is dependent, and the results from those tasks are the + * arguments of those parameters. + * @param {Function} [callback] - An optional callback which is called when all + * the tasks have been completed. It receives the `err` argument if any `tasks` + * pass an error to their callback, and a `results` object with any completed + * task results, similar to `auto`. + * @example + * + * // The example from `auto` can be rewritten as follows: + * async.autoInject({ + * get_data: function(callback) { + * // async code to get some data + * callback(null, 'data', 'converted to array'); + * }, + * make_folder: function(callback) { + * // async code to create a directory to store a file in + * // this is run at the same time as getting the data + * callback(null, 'folder'); + * }, + * write_file: function(get_data, make_folder, callback) { + * // once there is some data and the directory exists, + * // write the data to a file in the directory + * callback(null, 'filename'); + * }, + * email_link: function(write_file, callback) { + * // once the file is written let's email a link to it... + * // write_file contains the filename returned by write_file. + * callback(null, {'file':write_file, 'email':'user@example.com'}); + * } + * }, function(err, results) { + * console.log('err = ', err); + * console.log('email_link = ', results.email_link); + * }); + * + * // If you are using a JS minifier that mangles parameter names, `autoInject` + * // will not work with plain functions, since the parameter names will be + * // collapsed to a single letter identifier. To work around this, you can + * // explicitly specify the names of the parameters your task function needs + * // in an array, similar to Angular.js dependency injection. + * + * // This still has an advantage over plain `auto`, since the results a task + * // depends on are still spread into arguments. + * async.autoInject({ + * //... + * write_file: ['get_data', 'make_folder', function(get_data, make_folder, callback) { + * callback(null, 'filename'); + * }], + * email_link: ['write_file', function(write_file, callback) { + * callback(null, {'file':write_file, 'email':'user@example.com'}); + * }] + * //... + * }, function(err, results) { + * console.log('err = ', err); + * console.log('email_link = ', results.email_link); + * }); + */ + function autoInject(tasks, callback) { + var newTasks = {}; + + baseForOwn(tasks, function (taskFn, key) { + var params; + + if (isArray(taskFn)) { + params = taskFn.slice(0, -1); + taskFn = taskFn[taskFn.length - 1]; + + newTasks[key] = params.concat(params.length > 0 ? newTask : taskFn); + } else if (taskFn.length === 1) { + // no dependencies, use the function as-is + newTasks[key] = taskFn; + } else { + params = parseParams(taskFn); + if (taskFn.length === 0 && params.length === 0) { + throw new Error("autoInject task functions require explicit parameters."); + } - async.series = function(tasks, callback) { - _parallel(async.eachOfSeries, tasks, callback); - }; + params.pop(); - async.iterator = function (tasks) { - function makeCallback(index) { - function fn() { - if (tasks.length) { - tasks[index].apply(null, arguments); - } - return fn.next(); + newTasks[key] = params.concat(newTask); } - fn.next = function () { - return (index < tasks.length - 1) ? makeCallback(index + 1): null; - }; - return fn; - } - return makeCallback(0); - }; - async.apply = _restParam(function (fn, args) { - return _restParam(function (callArgs) { - return fn.apply( - null, args.concat(callArgs) - ); + function newTask(results, taskCb) { + var newArgs = arrayMap(params, function (name) { + return results[name]; + }); + newArgs.push(taskCb); + taskFn.apply(null, newArgs); + } }); - }); - function _concat(eachfn, arr, fn, callback) { - var result = []; - eachfn(arr, function (x, index, cb) { - fn(x, function (err, y) { - result = result.concat(y || []); - cb(err); + auto(newTasks, callback); + } + + var hasSetImmediate = typeof setImmediate === 'function' && setImmediate; + var hasNextTick = typeof process === 'object' && typeof process.nextTick === 'function'; + + function fallback(fn) { + setTimeout(fn, 0); + } + + function wrap(defer) { + return rest(function (fn, args) { + defer(function () { + fn.apply(null, args); }); - }, function (err) { - callback(err, result); }); } - async.concat = doParallel(_concat); - async.concatSeries = doSeries(_concat); - async.whilst = function (test, iterator, callback) { - callback = callback || noop; - if (test()) { - var next = _restParam(function(err, args) { - if (err) { - callback(err); - } else if (test.apply(this, args)) { - iterator(next); - } else { - callback(null); - } - }); - iterator(next); - } else { - callback(null); - } - }; + var _defer; - async.doWhilst = function (iterator, test, callback) { - var calls = 0; - return async.whilst(function() { - return ++calls <= 1 || test.apply(this, arguments); - }, iterator, callback); - }; + if (hasSetImmediate) { + _defer = setImmediate; + } else if (hasNextTick) { + _defer = process.nextTick; + } else { + _defer = fallback; + } - async.until = function (test, iterator, callback) { - return async.whilst(function() { - return !test.apply(this, arguments); - }, iterator, callback); + var setImmediate$1 = wrap(_defer); + +// Simple doubly linked list (https://en.wikipedia.org/wiki/Doubly_linked_list) implementation +// used for queues. This implementation assumes that the node provided by the user can be modified +// to adjust the next and last properties. We implement only the minimal functionality +// for queue support. + function DLL() { + this.head = this.tail = null; + this.length = 0; + } + + function setInitial(dll, node) { + dll.length = 1; + dll.head = dll.tail = node; + } + + DLL.prototype.removeLink = function (node) { + if (node.prev) node.prev.next = node.next;else this.head = node.next; + if (node.next) node.next.prev = node.prev;else this.tail = node.prev; + + node.prev = node.next = null; + this.length -= 1; + return node; }; - async.doUntil = function (iterator, test, callback) { - return async.doWhilst(iterator, function() { - return !test.apply(this, arguments); - }, callback); + DLL.prototype.empty = DLL; + + DLL.prototype.insertAfter = function (node, newNode) { + newNode.prev = node; + newNode.next = node.next; + if (node.next) node.next.prev = newNode;else this.tail = newNode; + node.next = newNode; + this.length += 1; }; - async.during = function (test, iterator, callback) { - callback = callback || noop; + DLL.prototype.insertBefore = function (node, newNode) { + newNode.prev = node.prev; + newNode.next = node; + if (node.prev) node.prev.next = newNode;else this.head = newNode; + node.prev = newNode; + this.length += 1; + }; - var next = _restParam(function(err, args) { - if (err) { - callback(err); - } else { - args.push(check); - test.apply(this, args); - } - }); + DLL.prototype.unshift = function (node) { + if (this.head) this.insertBefore(this.head, node);else setInitial(this, node); + }; - var check = function(err, truth) { - if (err) { - callback(err); - } else if (truth) { - iterator(next); - } else { - callback(null); - } - }; + DLL.prototype.push = function (node) { + if (this.tail) this.insertAfter(this.tail, node);else setInitial(this, node); + }; - test(check); + DLL.prototype.shift = function () { + return this.head && this.removeLink(this.head); }; - async.doDuring = function (iterator, test, callback) { - var calls = 0; - async.during(function(next) { - if (calls++ < 1) { - next(null, true); - } else { - test.apply(this, arguments); - } - }, iterator, callback); + DLL.prototype.pop = function () { + return this.tail && this.removeLink(this.tail); }; - function _queue(worker, concurrency, payload) { + function queue(worker, concurrency, payload) { if (concurrency == null) { concurrency = 1; - } - else if(concurrency === 0) { + } else if (concurrency === 0) { throw new Error('Concurrency must not be zero'); } - function _insert(q, data, pos, callback) { - if (callback != null && typeof callback !== "function") { - throw new Error("task callback must be a function"); + + function _insert(data, insertAtFront, callback) { + if (callback != null && typeof callback !== 'function') { + throw new Error('task callback must be a function'); } q.started = true; - if (!_isArray(data)) { + if (!isArray(data)) { data = [data]; } - if(data.length === 0 && q.idle()) { + if (data.length === 0 && q.idle()) { // call drain immediately if there are no tasks - return async.setImmediate(function() { + return setImmediate$1(function () { q.drain(); }); } - _arrayEach(data, function(task) { + + for (var i = 0, l = data.length; i < l; i++) { var item = { - data: task, + data: data[i], callback: callback || noop }; - if (pos) { - q.tasks.unshift(item); + if (insertAtFront) { + q._tasks.unshift(item); } else { - q.tasks.push(item); - } - - if (q.tasks.length === q.concurrency) { - q.saturated(); + q._tasks.push(item); } - }); - async.setImmediate(q.process); + } + setImmediate$1(q.process); } - function _next(q, tasks) { - return function(){ + + function _next(tasks) { + return rest(function (args) { workers -= 1; - var removed = false; - var args = arguments; - _arrayEach(tasks, function (task) { - _arrayEach(workersList, function (worker, index) { - if (worker === task && !removed) { - workersList.splice(index, 1); - removed = true; - } - }); + for (var i = 0, l = tasks.length; i < l; i++) { + var task = tasks[i]; + var index = baseIndexOf(workersList, task, 0); + if (index >= 0) { + workersList.splice(index); + } task.callback.apply(task, args); - }); - if (q.tasks.length + workers === 0) { + + if (args[0] != null) { + q.error(args[0], task.data); + } + } + + if (workers <= q.concurrency - q.buffer) { + q.unsaturated(); + } + + if (q.idle()) { q.drain(); } q.process(); - }; + }); } var workers = 0; var workersList = []; var q = { - tasks: [], + _tasks: new DLL(), concurrency: concurrency, payload: payload, saturated: noop, + unsaturated: noop, + buffer: concurrency / 4, empty: noop, drain: noop, + error: noop, started: false, paused: false, push: function (data, callback) { - _insert(q, data, false, callback); + _insert(data, false, callback); }, kill: function () { q.drain = noop; - q.tasks = []; + q._tasks.empty(); }, unshift: function (data, callback) { - _insert(q, data, true, callback); + _insert(data, true, callback); }, process: function () { - if (!q.paused && workers < q.concurrency && q.tasks.length) { - while(workers < q.concurrency && q.tasks.length){ - var tasks = q.payload ? - q.tasks.splice(0, q.payload) : - q.tasks.splice(0, q.tasks.length); - - var data = _map(tasks, function (task) { - return task.data; - }); + while (!q.paused && workers < q.concurrency && q._tasks.length) { + var tasks = [], + data = []; + var l = q._tasks.length; + if (q.payload) l = Math.min(l, q.payload); + for (var i = 0; i < l; i++) { + var node = q._tasks.shift(); + tasks.push(node); + data.push(node.data); + } - if (q.tasks.length === 0) { - q.empty(); - } - workers += 1; - workersList.push(tasks[0]); - var cb = only_once(_next(q, tasks)); - worker(data, cb); + if (q._tasks.length === 0) { + q.empty(); + } + workers += 1; + workersList.push(tasks[0]); + + if (workers === q.concurrency) { + q.saturated(); } + + var cb = onlyOnce(_next(tasks)); + worker(data, cb); } }, length: function () { - return q.tasks.length; + return q._tasks.length; }, running: function () { return workers; @@ -958,303 +2308,2982 @@ workersList: function () { return workersList; }, - idle: function() { - return q.tasks.length + workers === 0; + idle: function () { + return q._tasks.length + workers === 0; }, pause: function () { q.paused = true; }, resume: function () { - if (q.paused === false) { return; } + if (q.paused === false) { + return; + } q.paused = false; - var resumeCount = Math.min(q.concurrency, q.tasks.length); + var resumeCount = Math.min(q.concurrency, q._tasks.length); // Need to call q.process once per concurrent // worker to preserve full concurrency after pause for (var w = 1; w <= resumeCount; w++) { - async.setImmediate(q.process); + setImmediate$1(q.process); } } }; return q; } - async.queue = function (worker, concurrency) { - var q = _queue(function (items, cb) { - worker(items[0], cb); - }, concurrency, 1); - - return q; - }; + /** + * A cargo of tasks for the worker function to complete. Cargo inherits all of + * the same methods and event callbacks as [`queue`]{@link module:ControlFlow.queue}. + * @typedef {Object} CargoObject + * @memberOf module:ControlFlow + * @property {Function} length - A function returning the number of items + * waiting to be processed. Invoke like `cargo.length()`. + * @property {number} payload - An `integer` for determining how many tasks + * should be process per round. This property can be changed after a `cargo` is + * created to alter the payload on-the-fly. + * @property {Function} push - Adds `task` to the `queue`. The callback is + * called once the `worker` has finished processing the task. Instead of a + * single task, an array of `tasks` can be submitted. The respective callback is + * used for every task in the list. Invoke like `cargo.push(task, [callback])`. + * @property {Function} saturated - A callback that is called when the + * `queue.length()` hits the concurrency and further tasks will be queued. + * @property {Function} empty - A callback that is called when the last item + * from the `queue` is given to a `worker`. + * @property {Function} drain - A callback that is called when the last item + * from the `queue` has returned from the `worker`. + * @property {Function} idle - a function returning false if there are items + * waiting or being processed, or true if not. Invoke like `cargo.idle()`. + * @property {Function} pause - a function that pauses the processing of tasks + * until `resume()` is called. Invoke like `cargo.pause()`. + * @property {Function} resume - a function that resumes the processing of + * queued tasks when the queue is paused. Invoke like `cargo.resume()`. + * @property {Function} kill - a function that removes the `drain` callback and + * empties remaining tasks from the queue forcing it to go idle. Invoke like `cargo.kill()`. + */ + + /** + * Creates a `cargo` object with the specified payload. Tasks added to the + * cargo will be processed altogether (up to the `payload` limit). If the + * `worker` is in progress, the task is queued until it becomes available. Once + * the `worker` has completed some tasks, each callback of those tasks is + * called. Check out [these](https://camo.githubusercontent.com/6bbd36f4cf5b35a0f11a96dcd2e97711ffc2fb37/68747470733a2f2f662e636c6f75642e6769746875622e636f6d2f6173736574732f313637363837312f36383130382f62626330636662302d356632392d313165322d393734662d3333393763363464633835382e676966) [animations](https://camo.githubusercontent.com/f4810e00e1c5f5f8addbe3e9f49064fd5d102699/68747470733a2f2f662e636c6f75642e6769746875622e636f6d2f6173736574732f313637363837312f36383130312f38346339323036362d356632392d313165322d383134662d3964336430323431336266642e676966) + * for how `cargo` and `queue` work. + * + * While [`queue`]{@link module:ControlFlow.queue} passes only one task to one of a group of workers + * at a time, cargo passes an array of tasks to a single worker, repeating + * when the worker is finished. + * + * @name cargo + * @static + * @memberOf module:ControlFlow + * @method + * @see [async.queue]{@link module:ControlFlow.queue} + * @category Control Flow + * @param {Function} worker - An asynchronous function for processing an array + * of queued tasks, which must call its `callback(err)` argument when finished, + * with an optional `err` argument. Invoked with `(tasks, callback)`. + * @param {number} [payload=Infinity] - An optional `integer` for determining + * how many tasks should be processed per round; if omitted, the default is + * unlimited. + * @returns {module:ControlFlow.CargoObject} A cargo object to manage the tasks. Callbacks can + * attached as certain properties to listen for specific events during the + * lifecycle of the cargo and inner queue. + * @example + * + * // create a cargo object with payload 2 + * var cargo = async.cargo(function(tasks, callback) { + * for (var i=0; i>> 1); - if (compare(item, sequence[mid]) >= 0) { - beg = mid; - } else { - end = mid - 1; - } + var cb = args[args.length - 1]; + if (typeof cb == 'function') { + args.pop(); + } else { + cb = noop; } - return beg; - } - function _insert(q, data, priority, callback) { - if (callback != null && typeof callback !== "function") { - throw new Error("task callback must be a function"); - } - q.started = true; - if (!_isArray(data)) { - data = [data]; - } - if(data.length === 0) { - // call drain immediately if there are no tasks - return async.setImmediate(function() { - q.drain(); - }); - } - _arrayEach(data, function(task) { - var item = { - data: task, - priority: priority, - callback: typeof callback === 'function' ? callback : noop - }; + reduce(functions, args, function (newargs, fn, cb) { + fn.apply(that, newargs.concat(rest(function (err, nextargs) { + cb(err, nextargs); + }))); + }, function (err, results) { + cb.apply(that, [err].concat(results)); + }); + }); + }); - q.tasks.splice(_binarySearch(q.tasks, item, _compareTasks) + 1, 0, item); + /** + * Creates a function which is a composition of the passed asynchronous + * functions. Each function consumes the return value of the function that + * follows. Composing functions `f()`, `g()`, and `h()` would produce the result + * of `f(g(h()))`, only this version uses callbacks to obtain the return values. + * + * Each function is executed with the `this` binding of the composed function. + * + * @name compose + * @static + * @memberOf module:ControlFlow + * @method + * @category Control Flow + * @param {...Function} functions - the asynchronous functions to compose + * @returns {Function} an asynchronous function that is the composed + * asynchronous `functions` + * @example + * + * function add1(n, callback) { + * setTimeout(function () { + * callback(null, n + 1); + * }, 10); + * } + * + * function mul3(n, callback) { + * setTimeout(function () { + * callback(null, n * 3); + * }, 10); + * } + * + * var add1mul3 = async.compose(mul3, add1); + * add1mul3(4, function (err, result) { + * // result now equals 15 + * }); + */ + var compose = rest(function (args) { + return seq$1.apply(null, args.reverse()); + }); - if (q.tasks.length === q.concurrency) { - q.saturated(); - } - async.setImmediate(q.process); + function concat$1(eachfn, arr, fn, callback) { + var result = []; + eachfn(arr, function (x, index, cb) { + fn(x, function (err, y) { + result = result.concat(y || []); + cb(err); }); - } + }, function (err) { + callback(err, result); + }); + } - // Start with a normal queue - var q = async.queue(worker, concurrency); + /** + * Applies `iteratee` to each item in `coll`, concatenating the results. Returns + * the concatenated list. The `iteratee`s are called in parallel, and the + * results are concatenated as they return. There is no guarantee that the + * results array will be returned in the original order of `coll` passed to the + * `iteratee` function. + * + * @name concat + * @static + * @memberOf module:Collections + * @method + * @category Collection + * @param {Array|Iterable|Object} coll - A collection to iterate over. + * @param {Function} iteratee - A function to apply to each item in `coll`. + * The iteratee is passed a `callback(err, results)` which must be called once + * it has completed with an error (which can be `null`) and an array of results. + * Invoked with (item, callback). + * @param {Function} [callback(err)] - A callback which is called after all the + * `iteratee` functions have finished, or an error occurs. Results is an array + * containing the concatenated results of the `iteratee` function. Invoked with + * (err, results). + * @example + * + * async.concat(['dir1','dir2','dir3'], fs.readdir, function(err, files) { + * // files is now a list of filenames that exist in the 3 directories + * }); + */ + var concat = doParallel(concat$1); - // Override push to accept second parameter representing priority - q.push = function (data, priority, callback) { - _insert(q, data, priority, callback); + function doSeries(fn) { + return function (obj, iteratee, callback) { + return fn(eachOfSeries, obj, iteratee, callback); }; + } - // Remove unshift function - delete q.unshift; + /** + * The same as [`concat`]{@link module:Collections.concat} but runs only a single async operation at a time. + * + * @name concatSeries + * @static + * @memberOf module:Collections + * @method + * @see [async.concat]{@link module:Collections.concat} + * @category Collection + * @param {Array|Iterable|Object} coll - A collection to iterate over. + * @param {Function} iteratee - A function to apply to each item in `coll`. + * The iteratee is passed a `callback(err, results)` which must be called once + * it has completed with an error (which can be `null`) and an array of results. + * Invoked with (item, callback). + * @param {Function} [callback(err)] - A callback which is called after all the + * `iteratee` functions have finished, or an error occurs. Results is an array + * containing the concatenated results of the `iteratee` function. Invoked with + * (err, results). + */ + var concatSeries = doSeries(concat$1); + + /** + * Returns a function that when called, calls-back with the values provided. + * Useful as the first function in a [`waterfall`]{@link module:ControlFlow.waterfall}, or for plugging values in to + * [`auto`]{@link module:ControlFlow.auto}. + * + * @name constant + * @static + * @memberOf module:Utils + * @method + * @category Util + * @param {...*} arguments... - Any number of arguments to automatically invoke + * callback with. + * @returns {Function} Returns a function that when invoked, automatically + * invokes the callback with the previous given arguments. + * @example + * + * async.waterfall([ + * async.constant(42), + * function (value, next) { + * // value === 42 + * }, + * //... + * ], callback); + * + * async.waterfall([ + * async.constant(filename, "utf8"), + * fs.readFile, + * function (fileData, next) { + * //... + * } + * //... + * ], callback); + * + * async.auto({ + * hostname: async.constant("https://server.net/"), + * port: findFreePort, + * launchServer: ["hostname", "port", function (options, cb) { + * startServer(options, cb); + * }], + * //... + * }, callback); + */ + var constant = rest(function (values) { + var args = [null].concat(values); + return initialParams(function (ignoredArgs, callback) { + return callback.apply(this, args); + }); + }); - return q; - }; + function _createTester(eachfn, check, getResult) { + return function (arr, limit, iteratee, cb) { + function done() { + if (cb) { + cb(null, getResult(false)); + } + } + function wrappedIteratee(x, _, callback) { + if (!cb) return callback(); + iteratee(x, function (err, v) { + // Check cb as another iteratee may have resolved with a + // value or error since we started this iteratee + if (cb && (err || check(v))) { + if (err) cb(err);else cb(err, getResult(true, x)); + cb = iteratee = false; + callback(err, breakLoop); + } else { + callback(); + } + }); + } + if (arguments.length > 3) { + cb = cb || noop; + eachfn(arr, limit, wrappedIteratee, done); + } else { + cb = iteratee; + cb = cb || noop; + iteratee = limit; + eachfn(arr, wrappedIteratee, done); + } + }; + } - async.cargo = function (worker, payload) { - return _queue(worker, 1, payload); - }; + function _findGetResult(v, x) { + return x; + } - function _console_fn(name) { - return _restParam(function (fn, args) { - fn.apply(null, args.concat([_restParam(function (err, args) { + /** + * Returns the first value in `coll` that passes an async truth test. The + * `iteratee` is applied in parallel, meaning the first iteratee to return + * `true` will fire the detect `callback` with that result. That means the + * result might not be the first item in the original `coll` (in terms of order) + * that passes the test. + + * If order within the original `coll` is important, then look at + * [`detectSeries`]{@link module:Collections.detectSeries}. + * + * @name detect + * @static + * @memberOf module:Collections + * @method + * @alias find + * @category Collections + * @param {Array|Iterable|Object} coll - A collection to iterate over. + * @param {Function} iteratee - A truth test to apply to each item in `coll`. + * The iteratee is passed a `callback(err, truthValue)` which must be called + * with a boolean argument once it has completed. Invoked with (item, callback). + * @param {Function} [callback] - A callback which is called as soon as any + * iteratee returns `true`, or after all the `iteratee` functions have finished. + * Result will be the first item in the array that passes the truth test + * (iteratee) or the value `undefined` if none passed. Invoked with + * (err, result). + * @example + * + * async.detect(['file1','file2','file3'], function(filePath, callback) { + * fs.access(filePath, function(err) { + * callback(null, !err) + * }); + * }, function(err, result) { + * // result now equals the first file in the list that exists + * }); + */ + var detect = _createTester(eachOf, identity, _findGetResult); + + /** + * The same as [`detect`]{@link module:Collections.detect} but runs a maximum of `limit` async operations at a + * time. + * + * @name detectLimit + * @static + * @memberOf module:Collections + * @method + * @see [async.detect]{@link module:Collections.detect} + * @alias findLimit + * @category Collections + * @param {Array|Iterable|Object} coll - A collection to iterate over. + * @param {number} limit - The maximum number of async operations at a time. + * @param {Function} iteratee - A truth test to apply to each item in `coll`. + * The iteratee is passed a `callback(err, truthValue)` which must be called + * with a boolean argument once it has completed. Invoked with (item, callback). + * @param {Function} [callback] - A callback which is called as soon as any + * iteratee returns `true`, or after all the `iteratee` functions have finished. + * Result will be the first item in the array that passes the truth test + * (iteratee) or the value `undefined` if none passed. Invoked with + * (err, result). + */ + var detectLimit = _createTester(eachOfLimit, identity, _findGetResult); + + /** + * The same as [`detect`]{@link module:Collections.detect} but runs only a single async operation at a time. + * + * @name detectSeries + * @static + * @memberOf module:Collections + * @method + * @see [async.detect]{@link module:Collections.detect} + * @alias findSeries + * @category Collections + * @param {Array|Iterable|Object} coll - A collection to iterate over. + * @param {Function} iteratee - A truth test to apply to each item in `coll`. + * The iteratee is passed a `callback(err, truthValue)` which must be called + * with a boolean argument once it has completed. Invoked with (item, callback). + * @param {Function} [callback] - A callback which is called as soon as any + * iteratee returns `true`, or after all the `iteratee` functions have finished. + * Result will be the first item in the array that passes the truth test + * (iteratee) or the value `undefined` if none passed. Invoked with + * (err, result). + */ + var detectSeries = _createTester(eachOfSeries, identity, _findGetResult); + + function consoleFunc(name) { + return rest(function (fn, args) { + fn.apply(null, args.concat(rest(function (err, args) { if (typeof console === 'object') { if (err) { if (console.error) { console.error(err); } - } - else if (console[name]) { - _arrayEach(args, function (x) { + } else if (console[name]) { + arrayEach(args, function (x) { console[name](x); }); } } - })])); + }))); }); } - async.log = _console_fn('log'); - async.dir = _console_fn('dir'); - /*async.info = _console_fn('info'); - async.warn = _console_fn('warn'); - async.error = _console_fn('error');*/ - async.memoize = function (fn, hasher) { - var memo = {}; - var queues = {}; - hasher = hasher || identity; - var memoized = _restParam(function memoized(args) { - var callback = args.pop(); - var key = hasher.apply(null, args); - if (key in memo) { - async.setImmediate(function () { - callback.apply(null, memo[key]); - }); - } - else if (key in queues) { - queues[key].push(callback); + /** + * Logs the result of an `async` function to the `console` using `console.dir` + * to display the properties of the resulting object. Only works in Node.js or + * in browsers that support `console.dir` and `console.error` (such as FF and + * Chrome). If multiple arguments are returned from the async function, + * `console.dir` is called on each argument in order. + * + * @name dir + * @static + * @memberOf module:Utils + * @method + * @category Util + * @param {Function} function - The function you want to eventually apply all + * arguments to. + * @param {...*} arguments... - Any number of arguments to apply to the function. + * @example + * + * // in a module + * var hello = function(name, callback) { + * setTimeout(function() { + * callback(null, {hello: name}); + * }, 1000); + * }; + * + * // in the node repl + * node> async.dir(hello, 'world'); + * {hello: 'world'} + */ + var dir = consoleFunc('dir'); + + /** + * The post-check version of [`during`]{@link module:ControlFlow.during}. To reflect the difference in + * the order of operations, the arguments `test` and `fn` are switched. + * + * Also a version of [`doWhilst`]{@link module:ControlFlow.doWhilst} with asynchronous `test` function. + * @name doDuring + * @static + * @memberOf module:ControlFlow + * @method + * @see [async.during]{@link module:ControlFlow.during} + * @category Control Flow + * @param {Function} fn - A function which is called each time `test` passes. + * The function is passed a `callback(err)`, which must be called once it has + * completed with an optional `err` argument. Invoked with (callback). + * @param {Function} test - asynchronous truth test to perform before each + * execution of `fn`. Invoked with (...args, callback), where `...args` are the + * non-error args from the previous callback of `fn`. + * @param {Function} [callback] - A callback which is called after the test + * function has failed and repeated execution of `fn` has stopped. `callback` + * will be passed an error if one occured, otherwise `null`. + */ + function doDuring(fn, test, callback) { + callback = onlyOnce(callback || noop); + + var next = rest(function (err, args) { + if (err) return callback(err); + args.push(check); + test.apply(this, args); + }); + + function check(err, truth) { + if (err) return callback(err); + if (!truth) return callback(null); + fn(next); + } + + check(null, true); + } + + /** + * The post-check version of [`whilst`]{@link module:ControlFlow.whilst}. To reflect the difference in + * the order of operations, the arguments `test` and `iteratee` are switched. + * + * `doWhilst` is to `whilst` as `do while` is to `while` in plain JavaScript. + * + * @name doWhilst + * @static + * @memberOf module:ControlFlow + * @method + * @see [async.whilst]{@link module:ControlFlow.whilst} + * @category Control Flow + * @param {Function} iteratee - A function which is called each time `test` + * passes. The function is passed a `callback(err)`, which must be called once + * it has completed with an optional `err` argument. Invoked with (callback). + * @param {Function} test - synchronous truth test to perform after each + * execution of `iteratee`. Invoked with the non-error callback results of + * `iteratee`. + * @param {Function} [callback] - A callback which is called after the test + * function has failed and repeated execution of `iteratee` has stopped. + * `callback` will be passed an error and any arguments passed to the final + * `iteratee`'s callback. Invoked with (err, [results]); + */ + function doWhilst(iteratee, test, callback) { + callback = onlyOnce(callback || noop); + var next = rest(function (err, args) { + if (err) return callback(err); + if (test.apply(this, args)) return iteratee(next); + callback.apply(null, [null].concat(args)); + }); + iteratee(next); + } + + /** + * Like ['doWhilst']{@link module:ControlFlow.doWhilst}, except the `test` is inverted. Note the + * argument ordering differs from `until`. + * + * @name doUntil + * @static + * @memberOf module:ControlFlow + * @method + * @see [async.doWhilst]{@link module:ControlFlow.doWhilst} + * @category Control Flow + * @param {Function} fn - A function which is called each time `test` fails. + * The function is passed a `callback(err)`, which must be called once it has + * completed with an optional `err` argument. Invoked with (callback). + * @param {Function} test - synchronous truth test to perform after each + * execution of `fn`. Invoked with the non-error callback results of `fn`. + * @param {Function} [callback] - A callback which is called after the test + * function has passed and repeated execution of `fn` has stopped. `callback` + * will be passed an error and any arguments passed to the final `fn`'s + * callback. Invoked with (err, [results]); + */ + function doUntil(fn, test, callback) { + doWhilst(fn, function () { + return !test.apply(this, arguments); + }, callback); + } + + /** + * Like [`whilst`]{@link module:ControlFlow.whilst}, except the `test` is an asynchronous function that + * is passed a callback in the form of `function (err, truth)`. If error is + * passed to `test` or `fn`, the main callback is immediately called with the + * value of the error. + * + * @name during + * @static + * @memberOf module:ControlFlow + * @method + * @see [async.whilst]{@link module:ControlFlow.whilst} + * @category Control Flow + * @param {Function} test - asynchronous truth test to perform before each + * execution of `fn`. Invoked with (callback). + * @param {Function} fn - A function which is called each time `test` passes. + * The function is passed a `callback(err)`, which must be called once it has + * completed with an optional `err` argument. Invoked with (callback). + * @param {Function} [callback] - A callback which is called after the test + * function has failed and repeated execution of `fn` has stopped. `callback` + * will be passed an error, if one occured, otherwise `null`. + * @example + * + * var count = 0; + * + * async.during( + * function (callback) { + * return callback(null, count < 5); + * }, + * function (callback) { + * count++; + * setTimeout(callback, 1000); + * }, + * function (err) { + * // 5 seconds have passed + * } + * ); + */ + function during(test, fn, callback) { + callback = onlyOnce(callback || noop); + + function next(err) { + if (err) return callback(err); + test(check); + } + + function check(err, truth) { + if (err) return callback(err); + if (!truth) return callback(null); + fn(next); + } + + test(check); + } + + function _withoutIndex(iteratee) { + return function (value, index, callback) { + return iteratee(value, callback); + }; + } + + /** + * Applies the function `iteratee` to each item in `coll`, in parallel. + * The `iteratee` is called with an item from the list, and a callback for when + * it has finished. If the `iteratee` passes an error to its `callback`, the + * main `callback` (for the `each` function) is immediately called with the + * error. + * + * Note, that since this function applies `iteratee` to each item in parallel, + * there is no guarantee that the iteratee functions will complete in order. + * + * @name each + * @static + * @memberOf module:Collections + * @method + * @alias forEach + * @category Collection + * @param {Array|Iterable|Object} coll - A collection to iterate over. + * @param {Function} iteratee - A function to apply to each item + * in `coll`. The iteratee is passed a `callback(err)` which must be called once + * it has completed. If no error has occurred, the `callback` should be run + * without arguments or with an explicit `null` argument. The array index is not + * passed to the iteratee. Invoked with (item, callback). If you need the index, + * use `eachOf`. + * @param {Function} [callback] - A callback which is called when all + * `iteratee` functions have finished, or an error occurs. Invoked with (err). + * @example + * + * // assuming openFiles is an array of file names and saveFile is a function + * // to save the modified contents of that file: + * + * async.each(openFiles, saveFile, function(err){ + * // if any of the saves produced an error, err would equal that error + * }); + * + * // assuming openFiles is an array of file names + * async.each(openFiles, function(file, callback) { + * + * // Perform operation on file here. + * console.log('Processing file ' + file); + * + * if( file.length > 32 ) { + * console.log('This file name is too long'); + * callback('File name too long'); + * } else { + * // Do work to process file here + * console.log('File processed'); + * callback(); + * } + * }, function(err) { + * // if any of the file processing produced an error, err would equal that error + * if( err ) { + * // One of the iterations produced an error. + * // All processing will now stop. + * console.log('A file failed to process'); + * } else { + * console.log('All files have been processed successfully'); + * } + * }); + */ + function eachLimit(coll, iteratee, callback) { + eachOf(coll, _withoutIndex(iteratee), callback); + } + + /** + * The same as [`each`]{@link module:Collections.each} but runs a maximum of `limit` async operations at a time. + * + * @name eachLimit + * @static + * @memberOf module:Collections + * @method + * @see [async.each]{@link module:Collections.each} + * @alias forEachLimit + * @category Collection + * @param {Array|Iterable|Object} coll - A collection to iterate over. + * @param {number} limit - The maximum number of async operations at a time. + * @param {Function} iteratee - A function to apply to each item in `coll`. The + * iteratee is passed a `callback(err)` which must be called once it has + * completed. If no error has occurred, the `callback` should be run without + * arguments or with an explicit `null` argument. The array index is not passed + * to the iteratee. Invoked with (item, callback). If you need the index, use + * `eachOfLimit`. + * @param {Function} [callback] - A callback which is called when all + * `iteratee` functions have finished, or an error occurs. Invoked with (err). + */ + function eachLimit$1(coll, limit, iteratee, callback) { + _eachOfLimit(limit)(coll, _withoutIndex(iteratee), callback); + } + + /** + * The same as [`each`]{@link module:Collections.each} but runs only a single async operation at a time. + * + * @name eachSeries + * @static + * @memberOf module:Collections + * @method + * @see [async.each]{@link module:Collections.each} + * @alias forEachSeries + * @category Collection + * @param {Array|Iterable|Object} coll - A collection to iterate over. + * @param {Function} iteratee - A function to apply to each + * item in `coll`. The iteratee is passed a `callback(err)` which must be called + * once it has completed. If no error has occurred, the `callback` should be run + * without arguments or with an explicit `null` argument. The array index is + * not passed to the iteratee. Invoked with (item, callback). If you need the + * index, use `eachOfSeries`. + * @param {Function} [callback] - A callback which is called when all + * `iteratee` functions have finished, or an error occurs. Invoked with (err). + */ + var eachSeries = doLimit(eachLimit$1, 1); + + /** + * Wrap an async function and ensure it calls its callback on a later tick of + * the event loop. If the function already calls its callback on a next tick, + * no extra deferral is added. This is useful for preventing stack overflows + * (`RangeError: Maximum call stack size exceeded`) and generally keeping + * [Zalgo](http://blog.izs.me/post/59142742143/designing-apis-for-asynchrony) + * contained. + * + * @name ensureAsync + * @static + * @memberOf module:Utils + * @method + * @category Util + * @param {Function} fn - an async function, one that expects a node-style + * callback as its last argument. + * @returns {Function} Returns a wrapped function with the exact same call + * signature as the function passed in. + * @example + * + * function sometimesAsync(arg, callback) { + * if (cache[arg]) { + * return callback(null, cache[arg]); // this would be synchronous!! + * } else { + * doSomeIO(arg, callback); // this IO would be asynchronous + * } + * } + * + * // this has a risk of stack overflows if many results are cached in a row + * async.mapSeries(args, sometimesAsync, done); + * + * // this will defer sometimesAsync's callback if necessary, + * // preventing stack overflows + * async.mapSeries(args, async.ensureAsync(sometimesAsync), done); + */ + function ensureAsync(fn) { + return initialParams(function (args, callback) { + var sync = true; + args.push(function () { + var innerArgs = arguments; + if (sync) { + setImmediate$1(function () { + callback.apply(null, innerArgs); + }); + } else { + callback.apply(null, innerArgs); + } + }); + fn.apply(this, args); + sync = false; + }); + } + + function notId(v) { + return !v; + } + + /** + * Returns `true` if every element in `coll` satisfies an async test. If any + * iteratee call returns `false`, the main `callback` is immediately called. + * + * @name every + * @static + * @memberOf module:Collections + * @method + * @alias all + * @category Collection + * @param {Array|Iterable|Object} coll - A collection to iterate over. + * @param {Function} iteratee - A truth test to apply to each item in the + * collection in parallel. The iteratee is passed a `callback(err, truthValue)` + * which must be called with a boolean argument once it has completed. Invoked + * with (item, callback). + * @param {Function} [callback] - A callback which is called after all the + * `iteratee` functions have finished. Result will be either `true` or `false` + * depending on the values of the async tests. Invoked with (err, result). + * @example + * + * async.every(['file1','file2','file3'], function(filePath, callback) { + * fs.access(filePath, function(err) { + * callback(null, !err) + * }); + * }, function(err, result) { + * // if result is true then every file exists + * }); + */ + var every = _createTester(eachOf, notId, notId); + + /** + * The same as [`every`]{@link module:Collections.every} but runs a maximum of `limit` async operations at a time. + * + * @name everyLimit + * @static + * @memberOf module:Collections + * @method + * @see [async.every]{@link module:Collections.every} + * @alias allLimit + * @category Collection + * @param {Array|Iterable|Object} coll - A collection to iterate over. + * @param {number} limit - The maximum number of async operations at a time. + * @param {Function} iteratee - A truth test to apply to each item in the + * collection in parallel. The iteratee is passed a `callback(err, truthValue)` + * which must be called with a boolean argument once it has completed. Invoked + * with (item, callback). + * @param {Function} [callback] - A callback which is called after all the + * `iteratee` functions have finished. Result will be either `true` or `false` + * depending on the values of the async tests. Invoked with (err, result). + */ + var everyLimit = _createTester(eachOfLimit, notId, notId); + + /** + * The same as [`every`]{@link module:Collections.every} but runs only a single async operation at a time. + * + * @name everySeries + * @static + * @memberOf module:Collections + * @method + * @see [async.every]{@link module:Collections.every} + * @alias allSeries + * @category Collection + * @param {Array|Iterable|Object} coll - A collection to iterate over. + * @param {Function} iteratee - A truth test to apply to each item in the + * collection in parallel. The iteratee is passed a `callback(err, truthValue)` + * which must be called with a boolean argument once it has completed. Invoked + * with (item, callback). + * @param {Function} [callback] - A callback which is called after all the + * `iteratee` functions have finished. Result will be either `true` or `false` + * depending on the values of the async tests. Invoked with (err, result). + */ + var everySeries = doLimit(everyLimit, 1); + + /** + * The base implementation of `_.property` without support for deep paths. + * + * @private + * @param {string} key The key of the property to get. + * @returns {Function} Returns the new accessor function. + */ + function baseProperty(key) { + return function(object) { + return object == null ? undefined : object[key]; + }; + } + + function filterArray(eachfn, arr, iteratee, callback) { + var truthValues = new Array(arr.length); + eachfn(arr, function (x, index, callback) { + iteratee(x, function (err, v) { + truthValues[index] = !!v; + callback(err); + }); + }, function (err) { + if (err) return callback(err); + var results = []; + for (var i = 0; i < arr.length; i++) { + if (truthValues[i]) results.push(arr[i]); + } + callback(null, results); + }); + } + + function filterGeneric(eachfn, coll, iteratee, callback) { + var results = []; + eachfn(coll, function (x, index, callback) { + iteratee(x, function (err, v) { + if (err) { + callback(err); + } else { + if (v) { + results.push({ index: index, value: x }); + } + callback(); + } + }); + }, function (err) { + if (err) { + callback(err); + } else { + callback(null, arrayMap(results.sort(function (a, b) { + return a.index - b.index; + }), baseProperty('value'))); } - else { + }); + } + + function _filter(eachfn, coll, iteratee, callback) { + var filter = isArrayLike(coll) ? filterArray : filterGeneric; + filter(eachfn, coll, iteratee, callback || noop); + } + + /** + * Returns a new array of all the values in `coll` which pass an async truth + * test. This operation is performed in parallel, but the results array will be + * in the same order as the original. + * + * @name filter + * @static + * @memberOf module:Collections + * @method + * @alias select + * @category Collection + * @param {Array|Iterable|Object} coll - A collection to iterate over. + * @param {Function} iteratee - A truth test to apply to each item in `coll`. + * The `iteratee` is passed a `callback(err, truthValue)`, which must be called + * with a boolean argument once it has completed. Invoked with (item, callback). + * @param {Function} [callback] - A callback which is called after all the + * `iteratee` functions have finished. Invoked with (err, results). + * @example + * + * async.filter(['file1','file2','file3'], function(filePath, callback) { + * fs.access(filePath, function(err) { + * callback(null, !err) + * }); + * }, function(err, results) { + * // results now equals an array of the existing files + * }); + */ + var filter = doParallel(_filter); + + /** + * The same as [`filter`]{@link module:Collections.filter} but runs a maximum of `limit` async operations at a + * time. + * + * @name filterLimit + * @static + * @memberOf module:Collections + * @method + * @see [async.filter]{@link module:Collections.filter} + * @alias selectLimit + * @category Collection + * @param {Array|Iterable|Object} coll - A collection to iterate over. + * @param {number} limit - The maximum number of async operations at a time. + * @param {Function} iteratee - A truth test to apply to each item in `coll`. + * The `iteratee` is passed a `callback(err, truthValue)`, which must be called + * with a boolean argument once it has completed. Invoked with (item, callback). + * @param {Function} [callback] - A callback which is called after all the + * `iteratee` functions have finished. Invoked with (err, results). + */ + var filterLimit = doParallelLimit(_filter); + + /** + * The same as [`filter`]{@link module:Collections.filter} but runs only a single async operation at a time. + * + * @name filterSeries + * @static + * @memberOf module:Collections + * @method + * @see [async.filter]{@link module:Collections.filter} + * @alias selectSeries + * @category Collection + * @param {Array|Iterable|Object} coll - A collection to iterate over. + * @param {Function} iteratee - A truth test to apply to each item in `coll`. + * The `iteratee` is passed a `callback(err, truthValue)`, which must be called + * with a boolean argument once it has completed. Invoked with (item, callback). + * @param {Function} [callback] - A callback which is called after all the + * `iteratee` functions have finished. Invoked with (err, results) + */ + var filterSeries = doLimit(filterLimit, 1); + + /** + * Calls the asynchronous function `fn` with a callback parameter that allows it + * to call itself again, in series, indefinitely. + + * If an error is passed to the + * callback then `errback` is called with the error, and execution stops, + * otherwise it will never be called. + * + * @name forever + * @static + * @memberOf module:ControlFlow + * @method + * @category Control Flow + * @param {Function} fn - a function to call repeatedly. Invoked with (next). + * @param {Function} [errback] - when `fn` passes an error to it's callback, + * this function will be called, and execution stops. Invoked with (err). + * @example + * + * async.forever( + * function(next) { + * // next is suitable for passing to things that need a callback(err [, whatever]); + * // it will result in this function being called again. + * }, + * function(err) { + * // if next is called with a value in its first parameter, it will appear + * // in here as 'err', and execution will stop. + * } + * ); + */ + function forever(fn, errback) { + var done = onlyOnce(errback || noop); + var task = ensureAsync(fn); + + function next(err) { + if (err) return done(err); + task(next); + } + next(); + } + + /** + * Logs the result of an `async` function to the `console`. Only works in + * Node.js or in browsers that support `console.log` and `console.error` (such + * as FF and Chrome). If multiple arguments are returned from the async + * function, `console.log` is called on each argument in order. + * + * @name log + * @static + * @memberOf module:Utils + * @method + * @category Util + * @param {Function} function - The function you want to eventually apply all + * arguments to. + * @param {...*} arguments... - Any number of arguments to apply to the function. + * @example + * + * // in a module + * var hello = function(name, callback) { + * setTimeout(function() { + * callback(null, 'hello ' + name); + * }, 1000); + * }; + * + * // in the node repl + * node> async.log(hello, 'world'); + * 'hello world' + */ + var log = consoleFunc('log'); + + /** + * The same as [`mapValues`]{@link module:Collections.mapValues} but runs a maximum of `limit` async operations at a + * time. + * + * @name mapValuesLimit + * @static + * @memberOf module:Collections + * @method + * @see [async.mapValues]{@link module:Collections.mapValues} + * @category Collection + * @param {Object} obj - A collection to iterate over. + * @param {number} limit - The maximum number of async operations at a time. + * @param {Function} iteratee - A function to apply to each value in `obj`. + * The iteratee is passed a `callback(err, transformed)` which must be called + * once it has completed with an error (which can be `null`) and a + * transformed value. Invoked with (value, key, callback). + * @param {Function} [callback] - A callback which is called when all `iteratee` + * functions have finished, or an error occurs. `result` is a new object consisting + * of each key from `obj`, with each transformed value on the right-hand side. + * Invoked with (err, result). + */ + function mapValuesLimit(obj, limit, iteratee, callback) { + callback = once(callback || noop); + var newObj = {}; + eachOfLimit(obj, limit, function (val, key, next) { + iteratee(val, key, function (err, result) { + if (err) return next(err); + newObj[key] = result; + next(); + }); + }, function (err) { + callback(err, newObj); + }); + } + + /** + * A relative of [`map`]{@link module:Collections.map}, designed for use with objects. + * + * Produces a new Object by mapping each value of `obj` through the `iteratee` + * function. The `iteratee` is called each `value` and `key` from `obj` and a + * callback for when it has finished processing. Each of these callbacks takes + * two arguments: an `error`, and the transformed item from `obj`. If `iteratee` + * passes an error to its callback, the main `callback` (for the `mapValues` + * function) is immediately called with the error. + * + * Note, the order of the keys in the result is not guaranteed. The keys will + * be roughly in the order they complete, (but this is very engine-specific) + * + * @name mapValues + * @static + * @memberOf module:Collections + * @method + * @category Collection + * @param {Object} obj - A collection to iterate over. + * @param {Function} iteratee - A function to apply to each value and key in + * `coll`. The iteratee is passed a `callback(err, transformed)` which must be + * called once it has completed with an error (which can be `null`) and a + * transformed value. Invoked with (value, key, callback). + * @param {Function} [callback] - A callback which is called when all `iteratee` + * functions have finished, or an error occurs. `result` is a new object consisting + * of each key from `obj`, with each transformed value on the right-hand side. + * Invoked with (err, result). + * @example + * + * async.mapValues({ + * f1: 'file1', + * f2: 'file2', + * f3: 'file3' + * }, function (file, key, callback) { + * fs.stat(file, callback); + * }, function(err, result) { + * // result is now a map of stats for each file, e.g. + * // { + * // f1: [stats for file1], + * // f2: [stats for file2], + * // f3: [stats for file3] + * // } + * }); + */ + + var mapValues = doLimit(mapValuesLimit, Infinity); + + /** + * The same as [`mapValues`]{@link module:Collections.mapValues} but runs only a single async operation at a time. + * + * @name mapValuesSeries + * @static + * @memberOf module:Collections + * @method + * @see [async.mapValues]{@link module:Collections.mapValues} + * @category Collection + * @param {Object} obj - A collection to iterate over. + * @param {Function} iteratee - A function to apply to each value in `obj`. + * The iteratee is passed a `callback(err, transformed)` which must be called + * once it has completed with an error (which can be `null`) and a + * transformed value. Invoked with (value, key, callback). + * @param {Function} [callback] - A callback which is called when all `iteratee` + * functions have finished, or an error occurs. `result` is a new object consisting + * of each key from `obj`, with each transformed value on the right-hand side. + * Invoked with (err, result). + */ + var mapValuesSeries = doLimit(mapValuesLimit, 1); + + function has(obj, key) { + return key in obj; + } + + /** + * Caches the results of an `async` function. When creating a hash to store + * function results against, the callback is omitted from the hash and an + * optional hash function can be used. + * + * If no hash function is specified, the first argument is used as a hash key, + * which may work reasonably if it is a string or a data type that converts to a + * distinct string. Note that objects and arrays will not behave reasonably. + * Neither will cases where the other arguments are significant. In such cases, + * specify your own hash function. + * + * The cache of results is exposed as the `memo` property of the function + * returned by `memoize`. + * + * @name memoize + * @static + * @memberOf module:Utils + * @method + * @category Util + * @param {Function} fn - The function to proxy and cache results from. + * @param {Function} hasher - An optional function for generating a custom hash + * for storing results. It has all the arguments applied to it apart from the + * callback, and must be synchronous. + * @returns {Function} a memoized version of `fn` + * @example + * + * var slow_fn = function(name, callback) { + * // do something + * callback(null, result); + * }; + * var fn = async.memoize(slow_fn); + * + * // fn can now be used as if it were slow_fn + * fn('some name', function() { + * // callback + * }); + */ + function memoize(fn, hasher) { + var memo = Object.create(null); + var queues = Object.create(null); + hasher = hasher || identity; + var memoized = initialParams(function memoized(args, callback) { + var key = hasher.apply(null, args); + if (has(memo, key)) { + setImmediate$1(function () { + callback.apply(null, memo[key]); + }); + } else if (has(queues, key)) { + queues[key].push(callback); + } else { queues[key] = [callback]; - fn.apply(null, args.concat([_restParam(function (args) { + fn.apply(null, args.concat(rest(function (args) { memo[key] = args; var q = queues[key]; delete queues[key]; for (var i = 0, l = q.length; i < l; i++) { q[i].apply(null, args); } - })])); + }))); } }); memoized.memo = memo; memoized.unmemoized = fn; return memoized; - }; - - async.unmemoize = function (fn) { - return function () { - return (fn.unmemoized || fn).apply(null, arguments); - }; - }; - - function _times(mapper) { - return function (count, iterator, callback) { - mapper(_range(count), iterator, callback); - }; } - async.times = _times(async.map); - async.timesSeries = _times(async.mapSeries); - async.timesLimit = function (count, limit, iterator, callback) { - return async.mapLimit(_range(count), limit, iterator, callback); - }; + /** + * Calls `callback` on a later loop around the event loop. In Node.js this just + * calls `setImmediate`. In the browser it will use `setImmediate` if + * available, otherwise `setTimeout(callback, 0)`, which means other higher + * priority events may precede the execution of `callback`. + * + * This is used internally for browser-compatibility purposes. + * + * @name nextTick + * @static + * @memberOf module:Utils + * @method + * @alias setImmediate + * @category Util + * @param {Function} callback - The function to call on a later loop around + * the event loop. Invoked with (args...). + * @param {...*} args... - any number of additional arguments to pass to the + * callback on the next tick. + * @example + * + * var call_order = []; + * async.nextTick(function() { + * call_order.push('two'); + * // call_order now equals ['one','two'] + * }); + * call_order.push('one'); + * + * async.setImmediate(function (a, b, c) { + * // a, b, and c equal 1, 2, and 3 + * }, 1, 2, 3); + */ + var _defer$1; + + if (hasNextTick) { + _defer$1 = process.nextTick; + } else if (hasSetImmediate) { + _defer$1 = setImmediate; + } else { + _defer$1 = fallback; + } - async.seq = function (/* functions... */) { - var fns = arguments; - return _restParam(function (args) { - var that = this; + var nextTick = wrap(_defer$1); - var callback = args[args.length - 1]; - if (typeof callback == 'function') { - args.pop(); - } else { - callback = noop; - } + function _parallel(eachfn, tasks, callback) { + callback = callback || noop; + var results = isArrayLike(tasks) ? [] : {}; - async.reduce(fns, args, function (newargs, fn, cb) { - fn.apply(that, newargs.concat([_restParam(function (err, nextargs) { - cb(err, nextargs); - })])); - }, - function (err, results) { - callback.apply(that, [err].concat(results)); - }); + eachfn(tasks, function (task, key, callback) { + task(rest(function (err, args) { + if (args.length <= 1) { + args = args[0]; + } + results[key] = args; + callback(err); + })); + }, function (err) { + callback(err, results); }); - }; + } - async.compose = function (/* functions... */) { - return async.seq.apply(null, Array.prototype.reverse.call(arguments)); + /** + * Run the `tasks` collection of functions in parallel, without waiting until + * the previous function has completed. If any of the functions pass an error to + * its callback, the main `callback` is immediately called with the value of the + * error. Once the `tasks` have completed, the results are passed to the final + * `callback` as an array. + * + * **Note:** `parallel` is about kicking-off I/O tasks in parallel, not about + * parallel execution of code. If your tasks do not use any timers or perform + * any I/O, they will actually be executed in series. Any synchronous setup + * sections for each task will happen one after the other. JavaScript remains + * single-threaded. + * + * It is also possible to use an object instead of an array. Each property will + * be run as a function and the results will be passed to the final `callback` + * as an object instead of an array. This can be a more readable way of handling + * results from {@link async.parallel}. + * + * @name parallel + * @static + * @memberOf module:ControlFlow + * @method + * @category Control Flow + * @param {Array|Iterable|Object} tasks - A collection containing functions to run. + * Each function is passed a `callback(err, result)` which it must call on + * completion with an error `err` (which can be `null`) and an optional `result` + * value. + * @param {Function} [callback] - An optional callback to run once all the + * functions have completed successfully. This function gets a results array + * (or object) containing all the result arguments passed to the task callbacks. + * Invoked with (err, results). + * @example + * async.parallel([ + * function(callback) { + * setTimeout(function() { + * callback(null, 'one'); + * }, 200); + * }, + * function(callback) { + * setTimeout(function() { + * callback(null, 'two'); + * }, 100); + * } + * ], + * // optional callback + * function(err, results) { + * // the results array will equal ['one','two'] even though + * // the second function had a shorter timeout. + * }); + * + * // an example using an object instead of an array + * async.parallel({ + * one: function(callback) { + * setTimeout(function() { + * callback(null, 1); + * }, 200); + * }, + * two: function(callback) { + * setTimeout(function() { + * callback(null, 2); + * }, 100); + * } + * }, function(err, results) { + * // results is now equals to: {one: 1, two: 2} + * }); + */ + function parallelLimit(tasks, callback) { + _parallel(eachOf, tasks, callback); + } + + /** + * The same as [`parallel`]{@link module:ControlFlow.parallel} but runs a maximum of `limit` async operations at a + * time. + * + * @name parallelLimit + * @static + * @memberOf module:ControlFlow + * @method + * @see [async.parallel]{@link module:ControlFlow.parallel} + * @category Control Flow + * @param {Array|Collection} tasks - A collection containing functions to run. + * Each function is passed a `callback(err, result)` which it must call on + * completion with an error `err` (which can be `null`) and an optional `result` + * value. + * @param {number} limit - The maximum number of async operations at a time. + * @param {Function} [callback] - An optional callback to run once all the + * functions have completed successfully. This function gets a results array + * (or object) containing all the result arguments passed to the task callbacks. + * Invoked with (err, results). + */ + function parallelLimit$1(tasks, limit, callback) { + _parallel(_eachOfLimit(limit), tasks, callback); + } + + /** + * A queue of tasks for the worker function to complete. + * @typedef {Object} QueueObject + * @memberOf module:ControlFlow + * @property {Function} length - a function returning the number of items + * waiting to be processed. Invoke with `queue.length()`. + * @property {boolean} started - a boolean indicating whether or not any + * items have been pushed and processed by the queue. + * @property {Function} running - a function returning the number of items + * currently being processed. Invoke with `queue.running()`. + * @property {Function} workersList - a function returning the array of items + * currently being processed. Invoke with `queue.workersList()`. + * @property {Function} idle - a function returning false if there are items + * waiting or being processed, or true if not. Invoke with `queue.idle()`. + * @property {number} concurrency - an integer for determining how many `worker` + * functions should be run in parallel. This property can be changed after a + * `queue` is created to alter the concurrency on-the-fly. + * @property {Function} push - add a new task to the `queue`. Calls `callback` + * once the `worker` has finished processing the task. Instead of a single task, + * a `tasks` array can be submitted. The respective callback is used for every + * task in the list. Invoke with `queue.push(task, [callback])`, + * @property {Function} unshift - add a new task to the front of the `queue`. + * Invoke with `queue.unshift(task, [callback])`. + * @property {Function} saturated - a callback that is called when the number of + * running workers hits the `concurrency` limit, and further tasks will be + * queued. + * @property {Function} unsaturated - a callback that is called when the number + * of running workers is less than the `concurrency` & `buffer` limits, and + * further tasks will not be queued. + * @property {number} buffer - A minimum threshold buffer in order to say that + * the `queue` is `unsaturated`. + * @property {Function} empty - a callback that is called when the last item + * from the `queue` is given to a `worker`. + * @property {Function} drain - a callback that is called when the last item + * from the `queue` has returned from the `worker`. + * @property {Function} error - a callback that is called when a task errors. + * Has the signature `function(error, task)`. + * @property {boolean} paused - a boolean for determining whether the queue is + * in a paused state. + * @property {Function} pause - a function that pauses the processing of tasks + * until `resume()` is called. Invoke with `queue.pause()`. + * @property {Function} resume - a function that resumes the processing of + * queued tasks when the queue is paused. Invoke with `queue.resume()`. + * @property {Function} kill - a function that removes the `drain` callback and + * empties remaining tasks from the queue forcing it to go idle. Invoke with `queue.kill()`. + */ + + /** + * Creates a `queue` object with the specified `concurrency`. Tasks added to the + * `queue` are processed in parallel (up to the `concurrency` limit). If all + * `worker`s are in progress, the task is queued until one becomes available. + * Once a `worker` completes a `task`, that `task`'s callback is called. + * + * @name queue + * @static + * @memberOf module:ControlFlow + * @method + * @category Control Flow + * @param {Function} worker - An asynchronous function for processing a queued + * task, which must call its `callback(err)` argument when finished, with an + * optional `error` as an argument. If you want to handle errors from an + * individual task, pass a callback to `q.push()`. Invoked with + * (task, callback). + * @param {number} [concurrency=1] - An `integer` for determining how many + * `worker` functions should be run in parallel. If omitted, the concurrency + * defaults to `1`. If the concurrency is `0`, an error is thrown. + * @returns {module:ControlFlow.QueueObject} A queue object to manage the tasks. Callbacks can + * attached as certain properties to listen for specific events during the + * lifecycle of the queue. + * @example + * + * // create a queue object with concurrency 2 + * var q = async.queue(function(task, callback) { + * console.log('hello ' + task.name); + * callback(); + * }, 2); + * + * // assign a callback + * q.drain = function() { + * console.log('all items have been processed'); + * }; + * + * // add some items to the queue + * q.push({name: 'foo'}, function(err) { + * console.log('finished processing foo'); + * }); + * q.push({name: 'bar'}, function (err) { + * console.log('finished processing bar'); + * }); + * + * // add some items to the queue (batch-wise) + * q.push([{name: 'baz'},{name: 'bay'},{name: 'bax'}], function(err) { + * console.log('finished processing item'); + * }); + * + * // add some items to the front of the queue + * q.unshift({name: 'bar'}, function (err) { + * console.log('finished processing bar'); + * }); + */ + var queue$1 = function (worker, concurrency) { + return queue(function (items, cb) { + worker(items[0], cb); + }, concurrency, 1); }; + /** + * The same as [async.queue]{@link module:ControlFlow.queue} only tasks are assigned a priority and + * completed in ascending priority order. + * + * @name priorityQueue + * @static + * @memberOf module:ControlFlow + * @method + * @see [async.queue]{@link module:ControlFlow.queue} + * @category Control Flow + * @param {Function} worker - An asynchronous function for processing a queued + * task, which must call its `callback(err)` argument when finished, with an + * optional `error` as an argument. If you want to handle errors from an + * individual task, pass a callback to `q.push()`. Invoked with + * (task, callback). + * @param {number} concurrency - An `integer` for determining how many `worker` + * functions should be run in parallel. If omitted, the concurrency defaults to + * `1`. If the concurrency is `0`, an error is thrown. + * @returns {module:ControlFlow.QueueObject} A priorityQueue object to manage the tasks. There are two + * differences between `queue` and `priorityQueue` objects: + * * `push(task, priority, [callback])` - `priority` should be a number. If an + * array of `tasks` is given, all tasks will be assigned the same priority. + * * The `unshift` method was removed. + */ + var priorityQueue = function (worker, concurrency) { + // Start with a normal queue + var q = queue$1(worker, concurrency); - function _applyEach(eachfn) { - return _restParam(function(fns, args) { - var go = _restParam(function(args) { - var that = this; - var callback = args.pop(); - return eachfn(fns, function (fn, _, cb) { - fn.apply(that, args.concat([cb])); - }, - callback); - }); - if (args.length) { - return go.apply(this, args); + // Override push to accept second parameter representing priority + q.push = function (data, priority, callback) { + if (callback == null) callback = noop; + if (typeof callback !== 'function') { + throw new Error('task callback must be a function'); } - else { - return go; + q.started = true; + if (!isArray(data)) { + data = [data]; + } + if (data.length === 0) { + // call drain immediately if there are no tasks + return setImmediate$1(function () { + q.drain(); + }); } - }); - } - async.applyEach = _applyEach(async.eachOf); - async.applyEachSeries = _applyEach(async.eachOfSeries); + priority = priority || 0; + var nextNode = q._tasks.head; + while (nextNode && priority >= nextNode.priority) { + nextNode = nextNode.next; + } + for (var i = 0, l = data.length; i < l; i++) { + var item = { + data: data[i], + priority: priority, + callback: callback + }; - async.forever = function (fn, callback) { - var done = only_once(callback || noop); - var task = ensureAsync(fn); - function next(err) { - if (err) { - return done(err); + if (nextNode) { + q._tasks.insertBefore(nextNode, item); + } else { + q._tasks.push(item); + } } - task(next); - } - next(); + setImmediate$1(q.process); + }; + + // Remove unshift function + delete q.unshift; + + return q; }; - function ensureAsync(fn) { - return _restParam(function (args) { - var callback = args.pop(); - args.push(function () { - var innerArgs = arguments; - if (sync) { - async.setImmediate(function () { - callback.apply(null, innerArgs); + /** + * Runs the `tasks` array of functions in parallel, without waiting until the + * previous function has completed. Once any of the `tasks` complete or pass an + * error to its callback, the main `callback` is immediately called. It's + * equivalent to `Promise.race()`. + * + * @name race + * @static + * @memberOf module:ControlFlow + * @method + * @category Control Flow + * @param {Array} tasks - An array containing functions to run. Each function + * is passed a `callback(err, result)` which it must call on completion with an + * error `err` (which can be `null`) and an optional `result` value. + * @param {Function} callback - A callback to run once any of the functions have + * completed. This function gets an error or result from the first function that + * completed. Invoked with (err, result). + * @returns undefined + * @example + * + * async.race([ + * function(callback) { + * setTimeout(function() { + * callback(null, 'one'); + * }, 200); + * }, + * function(callback) { + * setTimeout(function() { + * callback(null, 'two'); + * }, 100); + * } + * ], + * // main callback + * function(err, result) { + * // the result will be equal to 'two' as it finishes earlier + * }); + */ + function race(tasks, callback) { + callback = once(callback || noop); + if (!isArray(tasks)) return callback(new TypeError('First argument to race must be an array of functions')); + if (!tasks.length) return callback(); + for (var i = 0, l = tasks.length; i < l; i++) { + tasks[i](callback); + } + } + + var slice = Array.prototype.slice; + + /** + * Same as [`reduce`]{@link module:Collections.reduce}, only operates on `array` in reverse order. + * + * @name reduceRight + * @static + * @memberOf module:Collections + * @method + * @see [async.reduce]{@link module:Collections.reduce} + * @alias foldr + * @category Collection + * @param {Array} array - A collection to iterate over. + * @param {*} memo - The initial state of the reduction. + * @param {Function} iteratee - A function applied to each item in the + * array to produce the next step in the reduction. The `iteratee` is passed a + * `callback(err, reduction)` which accepts an optional error as its first + * argument, and the state of the reduction as the second. If an error is + * passed to the callback, the reduction is stopped and the main `callback` is + * immediately called with the error. Invoked with (memo, item, callback). + * @param {Function} [callback] - A callback which is called after all the + * `iteratee` functions have finished. Result is the reduced value. Invoked with + * (err, result). + */ + function reduceRight(array, memo, iteratee, callback) { + var reversed = slice.call(array).reverse(); + reduce(reversed, memo, iteratee, callback); + } + + /** + * Wraps the function in another function that always returns data even when it + * errors. + * + * The object returned has either the property `error` or `value`. + * + * @name reflect + * @static + * @memberOf module:Utils + * @method + * @category Util + * @param {Function} fn - The function you want to wrap + * @returns {Function} - A function that always passes null to it's callback as + * the error. The second argument to the callback will be an `object` with + * either an `error` or a `value` property. + * @example + * + * async.parallel([ + * async.reflect(function(callback) { + * // do some stuff ... + * callback(null, 'one'); + * }), + * async.reflect(function(callback) { + * // do some more stuff but error ... + * callback('bad stuff happened'); + * }), + * async.reflect(function(callback) { + * // do some more stuff ... + * callback(null, 'two'); + * }) + * ], + * // optional callback + * function(err, results) { + * // values + * // results[0].value = 'one' + * // results[1].error = 'bad stuff happened' + * // results[2].value = 'two' + * }); + */ + function reflect(fn) { + return initialParams(function reflectOn(args, reflectCallback) { + args.push(rest(function callback(err, cbArgs) { + if (err) { + reflectCallback(null, { + error: err }); } else { - callback.apply(null, innerArgs); + var value = null; + if (cbArgs.length === 1) { + value = cbArgs[0]; + } else if (cbArgs.length > 1) { + value = cbArgs; + } + reflectCallback(null, { + value: value + }); } - }); - var sync = true; - fn.apply(this, args); - sync = false; + })); + + return fn.apply(this, args); }); } - async.ensureAsync = ensureAsync; + function reject$1(eachfn, arr, iteratee, callback) { + _filter(eachfn, arr, function (value, cb) { + iteratee(value, function (err, v) { + cb(err, !v); + }); + }, callback); + } - async.constant = _restParam(function(values) { - var args = [null].concat(values); - return function (callback) { - return callback.apply(this, args); + /** + * The opposite of [`filter`]{@link module:Collections.filter}. Removes values that pass an `async` truth test. + * + * @name reject + * @static + * @memberOf module:Collections + * @method + * @see [async.filter]{@link module:Collections.filter} + * @category Collection + * @param {Array|Iterable|Object} coll - A collection to iterate over. + * @param {Function} iteratee - A truth test to apply to each item in `coll`. + * The `iteratee` is passed a `callback(err, truthValue)`, which must be called + * with a boolean argument once it has completed. Invoked with (item, callback). + * @param {Function} [callback] - A callback which is called after all the + * `iteratee` functions have finished. Invoked with (err, results). + * @example + * + * async.reject(['file1','file2','file3'], function(filePath, callback) { + * fs.access(filePath, function(err) { + * callback(null, !err) + * }); + * }, function(err, results) { + * // results now equals an array of missing files + * createFiles(results); + * }); + */ + var reject = doParallel(reject$1); + + /** + * A helper function that wraps an array or an object of functions with reflect. + * + * @name reflectAll + * @static + * @memberOf module:Utils + * @method + * @see [async.reflect]{@link module:Utils.reflect} + * @category Util + * @param {Array} tasks - The array of functions to wrap in `async.reflect`. + * @returns {Array} Returns an array of functions, each function wrapped in + * `async.reflect` + * @example + * + * let tasks = [ + * function(callback) { + * setTimeout(function() { + * callback(null, 'one'); + * }, 200); + * }, + * function(callback) { + * // do some more stuff but error ... + * callback(new Error('bad stuff happened')); + * }, + * function(callback) { + * setTimeout(function() { + * callback(null, 'two'); + * }, 100); + * } + * ]; + * + * async.parallel(async.reflectAll(tasks), + * // optional callback + * function(err, results) { + * // values + * // results[0].value = 'one' + * // results[1].error = Error('bad stuff happened') + * // results[2].value = 'two' + * }); + * + * // an example using an object instead of an array + * let tasks = { + * one: function(callback) { + * setTimeout(function() { + * callback(null, 'one'); + * }, 200); + * }, + * two: function(callback) { + * callback('two'); + * }, + * three: function(callback) { + * setTimeout(function() { + * callback(null, 'three'); + * }, 100); + * } + * }; + * + * async.parallel(async.reflectAll(tasks), + * // optional callback + * function(err, results) { + * // values + * // results.one.value = 'one' + * // results.two.error = 'two' + * // results.three.value = 'three' + * }); + */ + function reflectAll(tasks) { + var results; + if (isArray(tasks)) { + results = arrayMap(tasks, reflect); + } else { + results = {}; + baseForOwn(tasks, function (task, key) { + results[key] = reflect.call(this, task); + }); + } + return results; + } + + /** + * The same as [`reject`]{@link module:Collections.reject} but runs a maximum of `limit` async operations at a + * time. + * + * @name rejectLimit + * @static + * @memberOf module:Collections + * @method + * @see [async.reject]{@link module:Collections.reject} + * @category Collection + * @param {Array|Iterable|Object} coll - A collection to iterate over. + * @param {number} limit - The maximum number of async operations at a time. + * @param {Function} iteratee - A truth test to apply to each item in `coll`. + * The `iteratee` is passed a `callback(err, truthValue)`, which must be called + * with a boolean argument once it has completed. Invoked with (item, callback). + * @param {Function} [callback] - A callback which is called after all the + * `iteratee` functions have finished. Invoked with (err, results). + */ + var rejectLimit = doParallelLimit(reject$1); + + /** + * The same as [`reject`]{@link module:Collections.reject} but runs only a single async operation at a time. + * + * @name rejectSeries + * @static + * @memberOf module:Collections + * @method + * @see [async.reject]{@link module:Collections.reject} + * @category Collection + * @param {Array|Iterable|Object} coll - A collection to iterate over. + * @param {Function} iteratee - A truth test to apply to each item in `coll`. + * The `iteratee` is passed a `callback(err, truthValue)`, which must be called + * with a boolean argument once it has completed. Invoked with (item, callback). + * @param {Function} [callback] - A callback which is called after all the + * `iteratee` functions have finished. Invoked with (err, results). + */ + var rejectSeries = doLimit(rejectLimit, 1); + + /** + * Creates a function that returns `value`. + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Util + * @param {*} value The value to return from the new function. + * @returns {Function} Returns the new constant function. + * @example + * + * var objects = _.times(2, _.constant({ 'a': 1 })); + * + * console.log(objects); + * // => [{ 'a': 1 }, { 'a': 1 }] + * + * console.log(objects[0] === objects[1]); + * // => true + */ + function constant$1(value) { + return function() { + return value; }; - }); + } - async.wrapSync = - async.asyncify = function asyncify(func) { - return _restParam(function (args) { - var callback = args.pop(); - var result; - try { - result = func.apply(this, args); - } catch (e) { - return callback(e); - } - // if result is Promise object - if (_isObject(result) && typeof result.then === "function") { - result.then(function(value) { - callback(null, value); - })["catch"](function(err) { - callback(err.message ? err : new Error(err)); - }); + /** + * Attempts to get a successful response from `task` no more than `times` times + * before returning an error. If the task is successful, the `callback` will be + * passed the result of the successful task. If all attempts fail, the callback + * will be passed the error and result (if any) of the final attempt. + * + * @name retry + * @static + * @memberOf module:ControlFlow + * @method + * @category Control Flow + * @param {Object|number} [opts = {times: 5, interval: 0}| 5] - Can be either an + * object with `times` and `interval` or a number. + * * `times` - The number of attempts to make before giving up. The default + * is `5`. + * * `interval` - The time to wait between retries, in milliseconds. The + * default is `0`. The interval may also be specified as a function of the + * retry count (see example). + * * `errorFilter` - An optional synchronous function that is invoked on + * erroneous result. If it returns `true` the retry attempts will continue; + * if the function returns `false` the retry flow is aborted with the current + * attempt's error and result being returned to the final callback. + * Invoked with (err). + * * If `opts` is a number, the number specifies the number of times to retry, + * with the default interval of `0`. + * @param {Function} task - A function which receives two arguments: (1) a + * `callback(err, result)` which must be called when finished, passing `err` + * (which can be `null`) and the `result` of the function's execution, and (2) + * a `results` object, containing the results of the previously executed + * functions (if nested inside another control flow). Invoked with + * (callback, results). + * @param {Function} [callback] - An optional callback which is called when the + * task has succeeded, or after the final failed attempt. It receives the `err` + * and `result` arguments of the last attempt at completing the `task`. Invoked + * with (err, results). + * @example + * + * // The `retry` function can be used as a stand-alone control flow by passing + * // a callback, as shown below: + * + * // try calling apiMethod 3 times + * async.retry(3, apiMethod, function(err, result) { + * // do something with the result + * }); + * + * // try calling apiMethod 3 times, waiting 200 ms between each retry + * async.retry({times: 3, interval: 200}, apiMethod, function(err, result) { + * // do something with the result + * }); + * + * // try calling apiMethod 10 times with exponential backoff + * // (i.e. intervals of 100, 200, 400, 800, 1600, ... milliseconds) + * async.retry({ + * times: 10, + * interval: function(retryCount) { + * return 50 * Math.pow(2, retryCount); + * } + * }, apiMethod, function(err, result) { + * // do something with the result + * }); + * + * // try calling apiMethod the default 5 times no delay between each retry + * async.retry(apiMethod, function(err, result) { + * // do something with the result + * }); + * + * // try calling apiMethod only when error condition satisfies, all other + * // errors will abort the retry control flow and return to final callback + * async.retry({ + * errorFilter: function(err) { + * return err.message === 'Temporary error'; // only retry on a specific error + * } + * }, apiMethod, function(err, result) { + * // do something with the result + * }); + * + * // It can also be embedded within other control flow functions to retry + * // individual methods that are not as reliable, like this: + * async.auto({ + * users: api.getUsers.bind(api), + * payments: async.retry(3, api.getPayments.bind(api)) + * }, function(err, results) { + * // do something with the results + * }); + * + */ + function retry(opts, task, callback) { + var DEFAULT_TIMES = 5; + var DEFAULT_INTERVAL = 0; + + var options = { + times: DEFAULT_TIMES, + intervalFunc: constant$1(DEFAULT_INTERVAL) + }; + + function parseTimes(acc, t) { + if (typeof t === 'object') { + acc.times = +t.times || DEFAULT_TIMES; + + acc.intervalFunc = typeof t.interval === 'function' ? t.interval : constant$1(+t.interval || DEFAULT_INTERVAL); + + acc.errorFilter = t.errorFilter; + } else if (typeof t === 'number' || typeof t === 'string') { + acc.times = +t || DEFAULT_TIMES; + } else { + throw new Error("Invalid arguments for async.retry"); + } + } + + if (arguments.length < 3 && typeof opts === 'function') { + callback = task || noop; + task = opts; + } else { + parseTimes(options, opts); + callback = callback || noop; + } + + if (typeof task !== 'function') { + throw new Error("Invalid arguments for async.retry"); + } + + var attempt = 1; + function retryAttempt() { + task(function (err) { + if (err && attempt++ < options.times && (typeof options.errorFilter != 'function' || options.errorFilter(err))) { + setTimeout(retryAttempt, options.intervalFunc(attempt)); } else { - callback(null, result); + callback.apply(null, arguments); } }); - }; + } - // Node.js - if (typeof module === 'object' && module.exports) { - module.exports = async; + retryAttempt(); } - // AMD / RequireJS - else if (typeof define === 'function' && define.amd) { - define([], function () { - return async; + + /** + * A close relative of [`retry`]{@link module:ControlFlow.retry}. This method wraps a task and makes it + * retryable, rather than immediately calling it with retries. + * + * @name retryable + * @static + * @memberOf module:ControlFlow + * @method + * @see [async.retry]{@link module:ControlFlow.retry} + * @category Control Flow + * @param {Object|number} [opts = {times: 5, interval: 0}| 5] - optional + * options, exactly the same as from `retry` + * @param {Function} task - the asynchronous function to wrap + * @returns {Functions} The wrapped function, which when invoked, will retry on + * an error, based on the parameters specified in `opts`. + * @example + * + * async.auto({ + * dep1: async.retryable(3, getFromFlakyService), + * process: ["dep1", async.retryable(3, function (results, cb) { + * maybeProcessData(results.dep1, cb); + * })] + * }, callback); + */ + var retryable = function (opts, task) { + if (!task) { + task = opts; + opts = null; + } + return initialParams(function (args, callback) { + function taskFn(cb) { + task.apply(null, args.concat(cb)); + } + + if (opts) retry(opts, taskFn, callback);else retry(taskFn, callback); }); + }; + + /** + * Run the functions in the `tasks` collection in series, each one running once + * the previous function has completed. If any functions in the series pass an + * error to its callback, no more functions are run, and `callback` is + * immediately called with the value of the error. Otherwise, `callback` + * receives an array of results when `tasks` have completed. + * + * It is also possible to use an object instead of an array. Each property will + * be run as a function, and the results will be passed to the final `callback` + * as an object instead of an array. This can be a more readable way of handling + * results from {@link async.series}. + * + * **Note** that while many implementations preserve the order of object + * properties, the [ECMAScript Language Specification](http://www.ecma-international.org/ecma-262/5.1/#sec-8.6) + * explicitly states that + * + * > The mechanics and order of enumerating the properties is not specified. + * + * So if you rely on the order in which your series of functions are executed, + * and want this to work on all platforms, consider using an array. + * + * @name series + * @static + * @memberOf module:ControlFlow + * @method + * @category Control Flow + * @param {Array|Iterable|Object} tasks - A collection containing functions to run, each + * function is passed a `callback(err, result)` it must call on completion with + * an error `err` (which can be `null`) and an optional `result` value. + * @param {Function} [callback] - An optional callback to run once all the + * functions have completed. This function gets a results array (or object) + * containing all the result arguments passed to the `task` callbacks. Invoked + * with (err, result). + * @example + * async.series([ + * function(callback) { + * // do some stuff ... + * callback(null, 'one'); + * }, + * function(callback) { + * // do some more stuff ... + * callback(null, 'two'); + * } + * ], + * // optional callback + * function(err, results) { + * // results is now equal to ['one', 'two'] + * }); + * + * async.series({ + * one: function(callback) { + * setTimeout(function() { + * callback(null, 1); + * }, 200); + * }, + * two: function(callback){ + * setTimeout(function() { + * callback(null, 2); + * }, 100); + * } + * }, function(err, results) { + * // results is now equal to: {one: 1, two: 2} + * }); + */ + function series(tasks, callback) { + _parallel(eachOfSeries, tasks, callback); } - // included directly via + {{/contentFor}} \ No newline at end of file diff --git a/src/views/calendar.hbs b/src/views/calendar.hbs index 308dbc74b..b2823e874 100644 --- a/src/views/calendar.hbs +++ b/src/views/calendar.hbs @@ -20,8 +20,5 @@
    {{#contentFor 'js-plugins'}} - - - {{/contentFor}} \ No newline at end of file diff --git a/src/views/dashboard.hbs b/src/views/dashboard.hbs index c508ea81b..74fa4b47b 100644 --- a/src/views/dashboard.hbs +++ b/src/views/dashboard.hbs @@ -120,9 +120,5 @@
    {{#contentFor 'js-plugins'}} - + {{/contentFor}} \ No newline at end of file diff --git a/src/views/groups.hbs b/src/views/groups.hbs index 11edcbf80..0c18ff19e 100644 --- a/src/views/groups.hbs +++ b/src/views/groups.hbs @@ -66,9 +66,5 @@ {{#contentFor 'js-plugins'}} - + {{/contentFor}} \ No newline at end of file diff --git a/src/views/install.hbs b/src/views/install.hbs index c6f5b3299..4dc726693 100644 --- a/src/views/install.hbs +++ b/src/views/install.hbs @@ -196,7 +196,8 @@ - + + @@ -378,57 +379,111 @@
    diff --git a/src/views/invoices.hbs b/src/views/invoices.hbs index 1a1f25e7e..098730033 100644 --- a/src/views/invoices.hbs +++ b/src/views/invoices.hbs @@ -59,9 +59,5 @@
    {{#contentFor 'js-plugins'}} - + {{/contentFor}} \ No newline at end of file diff --git a/src/views/layout/main.hbs b/src/views/layout/main.hbs index d5ab6393b..1ee9544cb 100644 --- a/src/views/layout/main.hbs +++ b/src/views/layout/main.hbs @@ -5,7 +5,6 @@ - {{#block 'css'}} @@ -19,7 +18,8 @@ {{/block}} - + + @@ -45,6 +45,30 @@
    +
    +
    + + + + + + + + + +
    +
    + + + + + + +
    +
    +

    Please Wait...

    +
    +
    Currently No Mobile Support.
    - - - + + -{{> newMessageWindow }} {{> ticketFilterWindow }} {{> createTicketWindow}} diff --git a/src/views/login-otp.hbs b/src/views/login-otp.hbs index 01f5b7d0d..c3e577a64 100644 --- a/src/views/login-otp.hbs +++ b/src/views/login-otp.hbs @@ -152,7 +152,8 @@ - + + @@ -215,94 +216,26 @@ -
    -
    +
    +
    - - -
    -
    - - -
    - - - - Forgot your password? -
    - - - - -
    diff --git a/src/views/login.hbs b/src/views/login.hbs index 52e2baa9a..701270f34 100644 --- a/src/views/login.hbs +++ b/src/views/login.hbs @@ -153,7 +153,8 @@ - + + @@ -228,8 +229,11 @@
    - - Forgot your password? + {{#if allowUserRegistration}} +
    + Create an Account. + {{/if}} + Forgot your password?
    + diff --git a/src/views/logs.hbs b/src/views/logs.hbs index 115997864..91e305c0b 100644 --- a/src/views/logs.hbs +++ b/src/views/logs.hbs @@ -38,9 +38,5 @@ {{#contentFor 'js-plugins'}} - + {{/contentFor}} \ No newline at end of file diff --git a/src/views/messages.hbs b/src/views/messages.hbs index 3e2066f7f..67d3c4390 100644 --- a/src/views/messages.hbs +++ b/src/views/messages.hbs @@ -1,80 +1,141 @@ -
    {{folderNum}}
    +
    {{data.showNewConvo}}
    +
    messages
    -
    -
    -

    Messages

    +
    +
    +

    Conversations

    +
    + add + +
    -
    -
    -
      -
    • {{{folder}}}
    • +
      +
        + {{#foreach data.conversations}} +
      • +
        + {{#if partner.image}} + + {{else}} + + {{/if}} + +
        +
        + {{partner.fullname}} + {{calendarDate updatedAt}} + {{recentMessage}} +
        +
      • + {{/foreach}} +
      +
      - {{#foreach data.messages.items}} -
    • - - - {{calendarDate date "MM/DD/YYYY"}} - {{from.fullname}} - {{subject}} + -
    -
    -
    -
    -
    - {{#if data.messages.message}} -
    -
    {{data.messages.message.from._id}}
    -
    - {{#if data.messages.message.from.image}} - {{data.messages.message.from.fullname}} +
    + {{#if data.conversation}} +
    +
    + Conversation Started on {{formatDate data.conversation.createdAt 'MMM Do YYYY \at h:mma'}} + {{#if data.conversation.requestingUserMeta.deletedAt}} + Conversation Deleted at {{formatDate data.conversation.requestingUserMeta.deletedAt 'MMM Do YYYY \at h:mma'}} + {{/if}} +
    + +
    +
    + {{#each data.conversation.messages}} + {{#isNotAsString owner._id ../data.common.loggedInAccount._id}} +
    + {{#if owner.image}} + + {{else}} + + {{/if}} +
    +

    {{{body}}}

    +
    +
    {{else}} - Default User Image +
    +
    +

    {{{body}}}

    +
    +
    + {{/isNotAsString}} + {{/each}} +
    +
    + -

    {{data.messages.message.subject}}

    - From: -
    {{data.messages.message.from.fullname}}
    -
    - Sent: -
    {{formatDate data.messages.message.date "MM/DD/YYYY hh:mma"}}
    -
    -
    - {{{data.messages.message.message}}} +
    +
    +
    +
    +
    - {{/if}} +
    + +
    +
    + + +
    +
    -
    + {{/if}} +
    +
      +
    • Delete Conversation
    • +
    +
    {{#contentFor 'js-plugins'}} - + {{/contentFor}} \ No newline at end of file diff --git a/src/views/notices.hbs b/src/views/notices.hbs index f830ff56f..543a27f28 100644 --- a/src/views/notices.hbs +++ b/src/views/notices.hbs @@ -72,9 +72,5 @@
    {{#contentFor 'js-plugins'}} - + {{/contentFor}} \ No newline at end of file diff --git a/src/views/partials/createTicketWindow.hbs b/src/views/partials/createTicketWindow.hbs index d486543d4..153a95ed6 100644 --- a/src/views/partials/createTicketWindow.hbs +++ b/src/views/partials/createTicketWindow.hbs @@ -20,7 +20,7 @@
    - {{#each data.common.groups}} {{/each}} diff --git a/src/views/partials/editAccountWindow.hbs b/src/views/partials/editAccountWindow.hbs index 810dbed73..d56e503ee 100644 --- a/src/views/partials/editAccountWindow.hbs +++ b/src/views/partials/editAccountWindow.hbs @@ -56,7 +56,7 @@
    diff --git a/src/views/partials/nav.hbs b/src/views/partials/nav.hbs index e85e1bf80..30bbc646d 100644 --- a/src/views/partials/nav.hbs +++ b/src/views/partials/nav.hbs @@ -20,12 +20,12 @@
  • - emailMessages - + chatMessages + + + + +
  • @@ -51,7 +51,7 @@ {{/canUser}} + +
  • + + select_all + Plugins + + +
  • + {{#canUser data.user "notices:view"}}
  • Notices
  • {{/canUser}} +
    {{#canUser data.user "settings:edit"}}
  • diff --git a/src/views/partials/onlineListSidebar.hbs b/src/views/partials/onlineListSidebar.hbs new file mode 100644 index 000000000..d61d69dea --- /dev/null +++ b/src/views/partials/onlineListSidebar.hbs @@ -0,0 +1,34 @@ +
    +
    +

    Online Users

    +
    +
    Active Now
    +
    +
      +
      +
      + +
      More Conversations
      +
      + +
      +
      +
      \ No newline at end of file diff --git a/src/views/partials/topbar.hbs b/src/views/partials/topbar.hbs index 6f70ded8a..3ffeba6db 100644 --- a/src/views/partials/topbar.hbs +++ b/src/views/partials/topbar.hbs @@ -1,23 +1,3 @@ - -
      {{#contentFor 'js-plugins'}} - + {{/contentFor}} \ No newline at end of file diff --git a/src/views/subviews/profile.hbs b/src/views/subviews/profile.hbs index f7737efdd..2b1a5a41c 100644 --- a/src/views/subviews/profile.hbs +++ b/src/views/subviews/profile.hbs @@ -1,85 +1,138 @@
      -
      +
      +
      +

      {{data.account.fullname}}

      -
      - -
      -
      - - -
      - - {{#if data.account.image}} - {{data.account.username}} - {{else}} - {{data.account.username}} - {{/if}} -
      -

      Upload Profile Image

      - Image must be square and at least 256x256 - -
      -
      -
      -
      - -
      -
      - - -
      - -
      - - +
      + + + +
      + + {{#if data.account.image}} + {{data.account.username}} + {{else}} + {{data.account.username}} + {{/if}} +
      +

      Upload Profile Image

      + Image must be square and at least 256x256 +
      + +
      -
      - - +
      +
      +
      +
      Two Factor Authentication
      +
      + Extra account security. +
      - -
      - - +
      + +
      + +
      - -
      - - +
      +
      +
      + + +
      +
      +
      +
      +
      -
      -
      - - +
      + +
      +
      +
      +
      +
      User Information
      +
      + Your profile information. +
      +
      +
      +
      +
      +
      + + +
      +
      + + +
      +
      + + +
      +
      + + +
      +
      + + +
      +
      + +
      +
      +
      -
      - - - +
      +
      +
      +
      +
      Mobile API Token
      +
      + API Token for the trudesk mobile app. +
      +
      +
      + + +
      +
      +
      +
      + + +
      +
      @@ -91,9 +144,6 @@ {{#contentFor 'js-plugins'}} {{/contentFor}} \ No newline at end of file diff --git a/src/views/subviews/reports/breakdown.hbs b/src/views/subviews/reports/breakdown.hbs index b371dd48d..b14bb4e8f 100644 --- a/src/views/subviews/reports/breakdown.hbs +++ b/src/views/subviews/reports/breakdown.hbs @@ -158,10 +158,5 @@ {{#contentFor 'js-plugins'}} - {{/contentFor}} \ No newline at end of file diff --git a/src/views/subviews/reports/overview.hbs b/src/views/subviews/reports/overview.hbs index 429943b3c..8fb902190 100644 --- a/src/views/subviews/reports/overview.hbs +++ b/src/views/subviews/reports/overview.hbs @@ -245,10 +245,5 @@ {{#contentFor 'js-plugins'}} - {{/contentFor}} \ No newline at end of file diff --git a/src/views/subviews/settings/settings-legal.hbs b/src/views/subviews/settings/settings-legal.hbs index e17c25813..f912175f9 100644 --- a/src/views/subviews/settings/settings-legal.hbs +++ b/src/views/subviews/settings/settings-legal.hbs @@ -50,9 +50,5 @@
      {{#contentFor 'js-plugins'}} - + {{/contentFor}} \ No newline at end of file diff --git a/src/views/subviews/singleticket.hbs b/src/views/subviews/singleticket.hbs index 572d2975f..0548f59f9 100644 --- a/src/views/subviews/singleticket.hbs +++ b/src/views/subviews/singleticket.hbs @@ -454,10 +454,5 @@
      {{#contentFor 'js-plugins'}} - + {{/contentFor}} \ No newline at end of file diff --git a/src/views/tags.hbs b/src/views/tags.hbs index 64f1aa75e..64dd00815 100644 --- a/src/views/tags.hbs +++ b/src/views/tags.hbs @@ -49,9 +49,5 @@
      {{#contentFor 'js-plugins'}} - + {{/contentFor}} \ No newline at end of file diff --git a/src/views/tickets.hbs b/src/views/tickets.hbs index ec51e0634..ac1f72cf2 100644 --- a/src/views/tickets.hbs +++ b/src/views/tickets.hbs @@ -230,9 +230,5 @@
      {{#contentFor 'js-plugins'}} - + {{/contentFor}} \ No newline at end of file diff --git a/src/webserver.js b/src/webserver.js index fbf671e1e..ff47bf28e 100644 --- a/src/webserver.js +++ b/src/webserver.js @@ -88,6 +88,7 @@ var nconf = require('nconf'), app.use(function(req, res) { return res.redirect('/install'); }); + var io = require('socket.io')(server); server.listen(port, '0.0.0.0', function() { diff --git a/test/models/message.js b/test/models/message.js index 11f16256c..087b27d47 100644 --- a/test/models/message.js +++ b/test/models/message.js @@ -2,7 +2,7 @@ var async = require('async'); var expect = require('chai').expect; var should = require('chai').should(); var m = require('mongoose'); -var messageSchema = require('../../src/models/message'); +var messageSchema = require('../../src/models/chat/message'); describe('message.js', function() { //it('should clear collections.', function(done) { @@ -15,94 +15,94 @@ describe('message.js', function() { // }); //}); - var messageId = m.Types.ObjectId(); - var ownerId = m.Types.ObjectId(); - - it('should create message', function(done) { - messageSchema.create({ - _id: messageId, - owner: ownerId, - from: m.Types.ObjectId(), - subject: 'This is the Subject', - message: 'This is the message' - }, function(err, message) { - expect(err).to.not.exist; - expect(message).to.be.a('object'); - expect(message._doc).to.include.keys( - '_id', 'owner', 'folder', 'unread', 'from', 'subject', 'date', 'message' - ); - - done(); - }); - }); - - it('should mark as read', function(done) { - messageSchema.getMessageById(messageId, function(err, message) { - expect(err).to.not.exist; - expect(message).to.be.a('object'); - - message.updateUnread(undefined, function(err, message) { - expect(err).to.not.exist; - expect(message).to.be.a('object'); - expect(message.unread).to.exist; - expect(message.unread).to.equal(false); - - done(); - }); - }); - }); - - it('should move to folder', function(done) { - messageSchema.getMessageById(messageId, function(err, message) { - expect(err).to.not.exist; - expect(message).to.be.a('object'); - - message.moveToFolder(1, function(err, message) { - expect(err).to.not.exist; - expect(message).to.be.a('object'); - expect(message.folder).to.exist; - expect(message.folder).to.equal(1); - - done(); - }); - }); - }); - - it('should get message with object', function(done) { - var object = { - limit: 10, - page: 0, - folder: 1, - owner: ownerId - }; - - messageSchema.getMessagesWithObject(object, function(err, messages) { - expect(err).to.not.exist; - expect(messages).to.be.a('array'); - expect(messages).to.have.length(1); - - var message = messages[0]; - expect(message._id).to.exist; - - done(); - }); - }); - - it('should get unread message count of INBOX', function(done) { - messageSchema.getUnreadInboxCount(ownerId, function(err, count) { - expect(err).to.not.exist; - expect(count).to.equal(0); - - done(); - }); - }); - - it('should get user folder', function(done) { - messageSchema.getUserFolder(ownerId, 1, function(err, messages) { - expect(err).to.not.exist; - expect(messages).to.have.length(1); - - done(); - }); - }); + // var messageId = m.Types.ObjectId(); + // var ownerId = m.Types.ObjectId(); + // + // it('should create message', function(done) { + // messageSchema.create({ + // _id: messageId, + // owner: ownerId, + // from: m.Types.ObjectId(), + // subject: 'This is the Subject', + // message: 'This is the message' + // }, function(err, message) { + // expect(err).to.not.exist; + // expect(message).to.be.a('object'); + // expect(message._doc).to.include.keys( + // '_id', 'owner', 'folder', 'unread', 'from', 'subject', 'date', 'message' + // ); + // + // done(); + // }); + // }); + // + // it('should mark as read', function(done) { + // messageSchema.getMessageById(messageId, function(err, message) { + // expect(err).to.not.exist; + // expect(message).to.be.a('object'); + // + // message.updateUnread(undefined, function(err, message) { + // expect(err).to.not.exist; + // expect(message).to.be.a('object'); + // expect(message.unread).to.exist; + // expect(message.unread).to.equal(false); + // + // done(); + // }); + // }); + // }); + // + // it('should move to folder', function(done) { + // messageSchema.getMessageById(messageId, function(err, message) { + // expect(err).to.not.exist; + // expect(message).to.be.a('object'); + // + // message.moveToFolder(1, function(err, message) { + // expect(err).to.not.exist; + // expect(message).to.be.a('object'); + // expect(message.folder).to.exist; + // expect(message.folder).to.equal(1); + // + // done(); + // }); + // }); + // }); + // + // it('should get message with object', function(done) { + // var object = { + // limit: 10, + // page: 0, + // folder: 1, + // owner: ownerId + // }; + // + // messageSchema.getMessagesWithObject(object, function(err, messages) { + // expect(err).to.not.exist; + // expect(messages).to.be.a('array'); + // expect(messages).to.have.length(1); + // + // var message = messages[0]; + // expect(message._id).to.exist; + // + // done(); + // }); + // }); + // + // it('should get unread message count of INBOX', function(done) { + // messageSchema.getUnreadInboxCount(ownerId, function(err, count) { + // expect(err).to.not.exist; + // expect(count).to.equal(0); + // + // done(); + // }); + // }); + // + // it('should get user folder', function(done) { + // messageSchema.getUserFolder(ownerId, 1, function(err, messages) { + // expect(err).to.not.exist; + // expect(messages).to.have.length(1); + // + // done(); + // }); + // }); }); diff --git a/webpack.config.dist.js b/webpack.config.dist.js new file mode 100644 index 000000000..f5f9dfc73 --- /dev/null +++ b/webpack.config.dist.js @@ -0,0 +1,111 @@ +var path = require('path'); +var webpack = require('webpack'); + +module.exports = { + //context: path.resolve(__dirname, 'public/js'), + entry : { + vendor: ['jquery', 'angular', 'angularRoute', 'angularCookies', 'angularSanitize', 'datatables', 'dt_responsive', 'dt_grouping', 'dt_ipaddress', 'modernizr', 'underscore'], + truRequire: 'expose-loader?truRequire!' + path.resolve(__dirname, './src/public/js/truRequire'), + "trudesk.min": path.resolve(__dirname, 'src/public/js/app.js') + }, + output: { + filename: '[name].js', + path: path.resolve(__dirname, 'public/js'), + publicPath: '/js/' + }, + resolve: { + modules: [path.resolve(__dirname, 'src/public/js/')], + alias: { + //server side + roles: path.resolve(__dirname, 'src/permissions/roles'), + + //client side + jquery: 'vendor/jquery/jquery', + jquery_scrollTo:'vendor/jquery/jquery.scrollTo.min', + angular: 'vendor/angular/angular.min', + angularRoute: 'vendor/angular/angular-route.min', + angularCookies: 'vendor/angular/angular-cookies.min', + angularSanitize:'vendor/angular/angular-sanitize.min', + moment: 'vendor/moment/moment', + uikit: 'vendor/uikit/js/uikit_combined.min', + modernizr: 'vendor/modernizr/modernizr', + fastclick: 'vendor/fastclick/fastclick', + placeholder: 'vendor/placeholder/placeholder', + nicescroll: 'vendor/nicescroll/nicescroll.min', + underscore: 'vendor/underscore/underscore', + history: 'vendor/history/jquery.history', + app: 'app', + + async: 'vendor/async/async', + jquery_custom: 'plugins/jquery.custom', + datatables: 'vendor/datatables/jquery.dataTables', + dt_responsive: 'vendor/datatables/dataTables.responsive', + dt_grouping: 'vendor/datatables/dataTables.grouping', + dt_scroller: 'vendor/datatables/dataTables.scroller', + dt_ipaddress: 'vendor/datatables/dataTables.ipaddress', + flot: 'vendor/flot/jquery.flot', + flot_symbol: 'vendor/flot/jquery.flot.symbol', + flot_time: 'vendor/flot/jquery.flot.time', + flot_tooltip: 'vendor/flot/jquery.flot.tooltip', + easypiechart: 'vendor/easypiechart/easypiechart', + chosen: 'vendor/chosen/chosen.jquery.min', + autogrow: 'plugins/autogrow', + pace: 'vendor/pace/pace.min', + tomarkdown: 'vendor/tomarkdown/tomarkdown', + enjoyhint: 'vendor/enjoyhint/enjoyhint.min', + colorpicker: 'vendor/simplecolorpicker/jquery.simplecolorpicker', + datepicker: 'vendor/datepicker/foundation-datepicker', + d3: 'vendor/d3/d3.min', + c3: 'vendor/c3/c3', + metricsgraphics:'vendor/metricsgraphics/metricsgraphics.min', + d3pie: 'vendor/d3pie/d3pie.min', + peity: 'vendor/peity/jquery.peity.min', + countup: 'vendor/countup/countUp.min', + velocity: 'vendor/velocity/velocity.min', + selectize: 'vendor/selectize/selectize', + waves: 'vendor/waves/waves', + isinview: 'plugins/jquery.isinview', + jquery_docsize: 'plugins/jquery.documentsize', + formvalidator: 'vendor/formvalidator/jquery.form-validator', + qrcode: 'vendor/qrcode/jquery.qrcode.min', + snackbar: 'plugins/snackbar' + } + }, + externals: { + //These are bunbled already + jsdom: 'jsdom', + canvas: 'canvas' + }, + module: { + rules: [ + { test: /angular\.min\.js/, use: 'exports-loader?angular' }, + { test: /uikit_combined\.min\.js/, use: 'exports-loader?UIkit' } + ] + }, + plugins: [ + new webpack.ProvidePlugin({ + $: 'jquery', + jQuery: 'jquery', + "window.jQuery": 'jquery', + "window.$": 'jquery', + Modernizr: 'modernizr', + "window.Modernizr": 'modernizr', + setImmediate: 'async' + }), + new webpack.optimize.CommonsChunkPlugin({ + name: ['vendor'], + minChunks: Infinity + }), + new webpack.IgnorePlugin(/^\.\/locale$/, [/moment$/]), + new webpack.optimize.OccurrenceOrderPlugin(), + new webpack.optimize.UglifyJsPlugin({ + mangle: false, + sourceMap:false + }) + ], + performance: { + hints: "warning", + maxEntrypointSize: 400000, + maxAssetSize: 1000000 + } +}; \ No newline at end of file diff --git a/webpack.config.js b/webpack.config.js new file mode 100644 index 000000000..ca132d700 --- /dev/null +++ b/webpack.config.js @@ -0,0 +1,107 @@ +var path = require('path'); +var webpack = require('webpack'); + +module.exports = { + //context: path.resolve(__dirname, 'public/js'), + entry : { + vendor: ['jquery', 'angular', 'angularRoute', 'angularCookies', 'angularSanitize', 'datatables', 'dt_responsive', 'dt_grouping', 'dt_ipaddress', 'modernizr', 'underscore'], + truRequire: 'expose-loader?truRequire!' + path.resolve(__dirname, './src/public/js/truRequire'), + "trudesk.min": path.resolve(__dirname, 'src/public/js/app.js') + }, + output: { + filename: '[name].js', + path: path.resolve(__dirname, 'public/js'), + publicPath: '/js/' + }, + resolve: { + modules: [path.resolve(__dirname, 'src/public/js/')], + alias: { + //server side + roles: path.resolve(__dirname, 'src/permissions/roles'), + + //client side + jquery: 'vendor/jquery/jquery', + jquery_scrollTo:'vendor/jquery/jquery.scrollTo.min', + angular: 'vendor/angular/angular.min', + angularRoute: 'vendor/angular/angular-route.min', + angularCookies: 'vendor/angular/angular-cookies.min', + angularSanitize:'vendor/angular/angular-sanitize.min', + moment: 'vendor/moment/moment', + uikit: 'vendor/uikit/js/uikit_combined.min', + modernizr: 'vendor/modernizr/modernizr', + fastclick: 'vendor/fastclick/fastclick', + placeholder: 'vendor/placeholder/placeholder', + nicescroll: 'vendor/nicescroll/nicescroll.min', + underscore: 'vendor/underscore/underscore', + history: 'vendor/history/jquery.history', + app: 'app', + + async: 'vendor/async/async', + jquery_custom: 'plugins/jquery.custom', + datatables: 'vendor/datatables/jquery.dataTables', + dt_responsive: 'vendor/datatables/dataTables.responsive', + dt_grouping: 'vendor/datatables/dataTables.grouping', + dt_scroller: 'vendor/datatables/dataTables.scroller', + dt_ipaddress: 'vendor/datatables/dataTables.ipaddress', + flot: 'vendor/flot/jquery.flot', + flot_symbol: 'vendor/flot/jquery.flot.symbol', + flot_time: 'vendor/flot/jquery.flot.time', + flot_tooltip: 'vendor/flot/jquery.flot.tooltip', + easypiechart: 'vendor/easypiechart/easypiechart', + chosen: 'vendor/chosen/chosen.jquery.min', + autogrow: 'plugins/autogrow', + pace: 'vendor/pace/pace.min', + tomarkdown: 'vendor/tomarkdown/tomarkdown', + enjoyhint: 'vendor/enjoyhint/enjoyhint.min', + colorpicker: 'vendor/simplecolorpicker/jquery.simplecolorpicker', + datepicker: 'vendor/datepicker/foundation-datepicker', + d3: 'vendor/d3/d3.min', + c3: 'vendor/c3/c3', + metricsgraphics:'vendor/metricsgraphics/metricsgraphics.min', + d3pie: 'vendor/d3pie/d3pie.min', + peity: 'vendor/peity/jquery.peity.min', + countup: 'vendor/countup/countUp.min', + velocity: 'vendor/velocity/velocity.min', + selectize: 'vendor/selectize/selectize', + waves: 'vendor/waves/waves', + isinview: 'plugins/jquery.isinview', + jquery_docsize: 'plugins/jquery.documentsize', + formvalidator: 'vendor/formvalidator/jquery.form-validator', + qrcode: 'vendor/qrcode/jquery.qrcode.min', + snackbar: 'plugins/snackbar' + } + }, + externals: { + //These are bunbled already + jsdom: 'jsdom', + canvas: 'canvas' + }, + module: { + rules: [ + { test: /angular\.min\.js/, use: 'exports-loader?angular' }, + { test: /uikit_combined\.min\.js/, use: 'exports-loader?UIkit' } + ] + }, + plugins: [ + new webpack.ProvidePlugin({ + $: 'jquery', + jQuery: 'jquery', + "window.jQuery": 'jquery', + "window.$": 'jquery', + Modernizr: 'modernizr', + "window.Modernizr": 'modernizr', + setImmediate: 'async' + }), + new webpack.optimize.CommonsChunkPlugin({ + name: ['vendor'], + minChunks: Infinity + }), + new webpack.IgnorePlugin(/^\.\/locale$/, [/moment$/]), + new webpack.optimize.OccurrenceOrderPlugin() + ], + performance: { + hints: "warning", + maxEntrypointSize: 1000000, + maxAssetSize: 8000000 + } +}; \ No newline at end of file diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 000000000..d8e482f07 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,5536 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +abbrev@1, abbrev@1.0.x: + version "1.0.9" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" + +accepts@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.1.4.tgz#d71c96f7d41d0feda2c38cd14e8a27c04158df4a" + dependencies: + mime-types "~2.0.4" + negotiator "0.4.9" + +accepts@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca" + dependencies: + mime-types "~2.1.11" + negotiator "0.6.1" + +acorn-dynamic-import@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-2.0.1.tgz#23f671eb6e650dab277fef477c321b1178a8cca2" + dependencies: + acorn "^4.0.3" + +acorn-jsx@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" + dependencies: + acorn "^3.0.4" + +acorn@4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.4.tgz#17a8d6a7a6c4ef538b814ec9abac2779293bf30a" + +acorn@^3.0.4, acorn@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" + +acorn@^4.0.3, acorn@^4.0.4: + version "4.0.11" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.11.tgz#edcda3bd937e7556410d42ed5860f67399c794c0" + +addressparser@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/addressparser/-/addressparser-1.0.1.tgz#47afbe1a2a9262191db6838e4fd1d39b40821746" + +addressparser@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/addressparser/-/addressparser-0.3.2.tgz#59873f35e8fcf6c7361c10239261d76e15348bb2" + +after@0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/after/-/after-0.8.1.tgz#ab5d4fb883f596816d3515f8f791c0af486dd627" + +ajv-keywords@^1.0.0, ajv-keywords@^1.1.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" + +ajv@^4.7.0: + version "4.11.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.2.tgz#f166c3c11cbc6cb9dcc102a5bcfe5b72c95287e6" + dependencies: + co "^4.6.0" + json-stable-stringify "^1.0.1" + +align-text@^0.1.1, align-text@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" + dependencies: + kind-of "^3.0.2" + longest "^1.0.1" + repeat-string "^1.5.2" + +amdefine@>=0.0.4: + version "1.0.1" + resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + +amp-message@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/amp-message/-/amp-message-0.1.2.tgz#a78f1c98995087ad36192a41298e4db49e3dfc45" + dependencies: + amp "0.3.1" + +amp@0.3.1, amp@~0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/amp/-/amp-0.3.1.tgz#6adf8d58a74f361e82c1fa8d389c079e139fc47d" + +ansi-escapes@^1.1.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + +ansi-styles@^2.1.0, ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + +ansi-styles@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" + +ansi_up@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/ansi_up/-/ansi_up-1.3.0.tgz#c9c946bfc0b9bb5eaa060684bf2abaafe68bbd44" + +anymatch@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507" + dependencies: + arrify "^1.0.0" + micromatch "^2.1.5" + +apidoc-core@~0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/apidoc-core/-/apidoc-core-0.8.2.tgz#115d09bfc46b4f4d178f2be1012f67077f586090" + dependencies: + fs-extra "^2.0.0" + glob "^7.1.1" + iconv-lite "^0.4.15" + klaw-sync "^1.0.2" + lodash "~4.17.4" + semver "~5.3.0" + +apidoc@*, apidoc@0.17.5: + version "0.17.5" + resolved "https://registry.yarnpkg.com/apidoc/-/apidoc-0.17.5.tgz#91ce7264b48c717e4cc18afba642277bc68a2325" + dependencies: + apidoc-core "~0.8.1" + fs-extra "~2.0.0" + lodash "~4.17.4" + markdown-it "^8.2.2" + nomnom "~1.8.1" + winston "~2.3.1" + +apn@1.7.6: + version "1.7.6" + resolved "https://registry.yarnpkg.com/apn/-/apn-1.7.6.tgz#7777e41cef4d67c5fcd84d87978c31b5683913f6" + dependencies: + debug "^2.2.0" + node-forge "^0.6.20" + q "^1.1.0" + +aproba@^1.0.3: + version "1.1.1" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.1.tgz#95d3600f07710aa0e9298c726ad5ecf2eacbabab" + +are-we-there-yet@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz#80e470e95a084794fe1899262c5667c6e88de1b3" + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.0 || ^1.1.13" + +argparse@^0.1.15, "argparse@~ 0.1.11": + version "0.1.16" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-0.1.16.tgz#cfd01e0fbba3d6caed049fbd758d40f65196f57c" + dependencies: + underscore "~1.7.0" + underscore.string "~2.4.0" + +argparse@^1.0.2, argparse@^1.0.7: + version "1.0.9" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" + dependencies: + sprintf-js "~1.0.2" + +arguments-extended@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/arguments-extended/-/arguments-extended-0.0.3.tgz#6107e4917d0eb6f0a4dd66320fc15afc72ef4946" + dependencies: + extended "~0.0.3" + is-extended "~0.0.8" + +arr-diff@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" + dependencies: + arr-flatten "^1.0.1" + +arr-flatten@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.1.tgz#e5ffe54d45e19f32f216e91eb99c8ce892bb604b" + +array-extended@~0.0.3, array-extended@~0.0.4, array-extended@~0.0.5: + version "0.0.11" + resolved "https://registry.yarnpkg.com/array-extended/-/array-extended-0.0.11.tgz#d7144ae748de93ca726f121009dbff1626d164bd" + dependencies: + arguments-extended "~0.0.3" + extended "~0.0.3" + is-extended "~0.0.3" + +array-find-index@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + dependencies: + array-uniq "^1.0.1" + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + +array-unique@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" + +arraybuffer.slice@0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz#f33b2159f0532a3f3107a272c0ccfbd1ad2979ca" + +arrify@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + +asn1.js@^4.0.0: + version "4.9.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.9.1.tgz#48ba240b45a9280e94748990ba597d216617fd40" + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +asn1@~0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" + +assert-plus@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" + +assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + +assert@^1.1.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" + dependencies: + util "0.10.3" + +assertion-error@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.0.2.tgz#13ca515d86206da0bac66e834dd397d87581094c" + +async-each@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" + +async-foreach@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" + +async@1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/async/-/async-1.4.2.tgz#6c9edcb11ced4f0dd2f2d40db0d49a109c088aab" + +async@1.5, async@1.5.2, async@1.x, async@^1.4.0, async@^1.5.0, async@^1.5.2, async@~1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + +async@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/async/-/async-2.0.0.tgz#d0900ad385af13804540a109c42166e3ae7b2b9d" + dependencies: + lodash "^4.8.0" + +async@^0.9.0, async@~0.9.0: + version "0.9.2" + resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" + +async@^2.0.1, async@^2.1.2: + version "2.1.4" + resolved "https://registry.yarnpkg.com/async/-/async-2.1.4.tgz#2d2160c7788032e4dd6cbe2502f1f9a2c8f6cde4" + dependencies: + lodash "^4.14.0" + +async@~0.2.6: + version "0.2.10" + resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" + +async@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/async/-/async-1.0.0.tgz#f8fc04ca3a13784ade9e1641af98578cfbd647a9" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + +aws-sign2@~0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" + +aws4@^1.2.1: + version "1.6.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" + +babel-code-frame@^6.16.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4" + dependencies: + chalk "^1.1.0" + esutils "^2.0.2" + js-tokens "^3.0.0" + +backo2@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" + +balanced-match@^0.4.1: + version "0.4.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" + +base64-arraybuffer@0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.2.tgz#474df4a9f2da24e05df3158c3b1db3c3cd46a154" + +base64-js@^1.0.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1" + +base64-url@1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/base64-url/-/base64-url-1.3.3.tgz#f8b6c537f09a4fc58c99cb86e0b0e9c61461a20f" + +base64id@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/base64id/-/base64id-0.1.0.tgz#02ce0fdeee0cef4f40080e1e73e834f0b1bfce3f" + +basic-auth@~1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-1.0.4.tgz#030935b01de7c9b94a824b29f3fccb750d3a5290" + +batch@0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/batch/-/batch-0.5.3.tgz#3f3414f380321743bfc1042f9a83ff1d5824d464" + +bcrypt-pbkdf@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" + dependencies: + tweetnacl "^0.14.3" + +bcrypt@0.8.7: + version "0.8.7" + resolved "https://registry.yarnpkg.com/bcrypt/-/bcrypt-0.8.7.tgz#bc3875a9afd0a7b2cd231a6a7f218a5ce156b093" + dependencies: + bindings "1.2.1" + nan "2.3.5" + +benchmark@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/benchmark/-/benchmark-1.0.0.tgz#2f1e2fa4c359f11122aa183082218e957e390c73" + +better-assert@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522" + dependencies: + callsite "1.0.0" + +big-integer@^1.6.17: + version "1.6.17" + resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.17.tgz#f0dcf5109a949e42a993ee3e8fb2070452817b51" + +big.js@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978" + +binary-extensions@^1.0.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774" + +"binary@>= 0.3.0 < 1": + version "0.3.0" + resolved "https://registry.yarnpkg.com/binary/-/binary-0.3.0.tgz#9f60553bc5ce8c3386f3b553cff47462adecaa79" + dependencies: + buffers "~0.1.1" + chainsaw "~0.1.0" + +bindings@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.2.1.tgz#14ad6113812d2d37d72e67b4cacb4bb726505f11" + +bl@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/bl/-/bl-1.0.3.tgz#fc5421a28fd4226036c3b3891a66a25bc64d226e" + dependencies: + readable-stream "~2.0.5" + +bl@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/bl/-/bl-1.1.2.tgz#fdca871a99713aa00d19e3bbba41c44787a65398" + dependencies: + readable-stream "~2.0.5" + +blob@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.4.tgz#bcf13052ca54463f30f9fc7e95b9a47630a94921" + +block-stream@*: + version "0.0.9" + resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" + dependencies: + inherits "~2.0.0" + +bluebird@2.10.2: + version "2.10.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-2.10.2.tgz#024a5517295308857f14f91f1106fc3b555f446b" + +"bluebird@>= 2.0", bluebird@^3.0.0, bluebird@^3.1.1, bluebird@~3.4.6: + version "3.4.7" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3" + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: + version "4.11.6" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" + +body-parser@1.15.2: + version "1.15.2" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.15.2.tgz#d7578cf4f1d11d5f6ea804cef35dc7a7ff6dae67" + dependencies: + bytes "2.4.0" + content-type "~1.0.2" + debug "~2.2.0" + depd "~1.1.0" + http-errors "~1.5.0" + iconv-lite "0.4.13" + on-finished "~2.3.0" + qs "6.2.0" + raw-body "~2.1.7" + type-is "~1.6.13" + +body-parser@~1.14.0: + version "1.14.2" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.14.2.tgz#1015cb1fe2c443858259581db53332f8d0cf50f9" + dependencies: + bytes "2.2.0" + content-type "~1.0.1" + debug "~2.2.0" + depd "~1.1.0" + http-errors "~1.3.1" + iconv-lite "0.4.13" + on-finished "~2.3.0" + qs "5.2.0" + raw-body "~2.1.5" + type-is "~1.6.10" + +boolbase@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + +boom@2.x.x: + version "2.10.1" + resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" + dependencies: + hoek "2.x.x" + +brace-expansion@^1.0.0: + version "1.1.6" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9" + dependencies: + balanced-match "^0.4.1" + concat-map "0.0.1" + +braces@^1.8.2: + version "1.8.5" + resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" + dependencies: + expand-range "^1.8.1" + preserve "^0.2.0" + repeat-element "^1.1.2" + +brorand@^1.0.1: + version "1.0.7" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.0.7.tgz#6677fa5e4901bdbf9c9ec2a748e28dca407a9bfc" + +browserify-aes@^1.0.0, browserify-aes@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.0.6.tgz#5e7725dbdef1fd5930d4ebab48567ce451c48a0a" + dependencies: + buffer-xor "^1.0.2" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.0" + inherits "^2.0.1" + +browserify-cipher@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.0.tgz#9988244874bf5ed4e28da95666dcd66ac8fc363a" + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.0.tgz#daa277717470922ed2fe18594118a175439721dd" + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + +browserify-rsa@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" + dependencies: + bn.js "^4.1.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.0.tgz#10773910c3c206d5420a46aad8694f820b85968f" + dependencies: + bn.js "^4.1.1" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.2" + elliptic "^6.0.0" + inherits "^2.0.1" + parse-asn1 "^5.0.0" + +browserify-zlib@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d" + dependencies: + pako "~0.2.0" + +bson@~0.4.23: + version "0.4.23" + resolved "https://registry.yarnpkg.com/bson/-/bson-0.4.23.tgz#e65a2e3c7507ffade4109bc7575a76e50f8da915" + +buffer-shims@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" + +buffer-xor@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + +buffer@^4.3.0: + version "4.9.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +buffers@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/buffers/-/buffers-0.1.1.tgz#b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb" + +buildmail@3.8.0: + version "3.8.0" + resolved "https://registry.yarnpkg.com/buildmail/-/buildmail-3.8.0.tgz#191b6369710b2bd35a7819edf2cb0b642efd65bf" + dependencies: + addressparser "1.0.1" + libbase64 "0.1.0" + libmime "2.0.3" + libqp "1.1.0" + nodemailer-fetch "1.4.0" + nodemailer-shared "1.0.5" + +builtin-modules@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + +busboy@0.2.13: + version "0.2.13" + resolved "https://registry.yarnpkg.com/busboy/-/busboy-0.2.13.tgz#90fc4f6a3967d815616fc976bfa8e56aed0c58b6" + dependencies: + dicer "0.2.5" + readable-stream "1.1.x" + +byt@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/byt/-/byt-0.1.0.tgz#b72553977b8c4dc890d262fd5e20f330039d154b" + +bytes@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.2.0.tgz#fd35464a403f6f9117c2de3609ecff9cae000588" + +bytes@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.4.0.tgz#7d97196f9d5baf7f6935e25985549edd2a6c2339" + +caller-path@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" + dependencies: + callsites "^0.2.0" + +callsite@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20" + +callsites@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" + +camelcase-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" + dependencies: + camelcase "^2.0.0" + map-obj "^1.0.0" + +camelcase@^1.0.2: + version "1.2.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" + +camelcase@^2.0.0, camelcase@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + +camelcase@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" + +caseless@~0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" + +catharsis@~0.8.8: + version "0.8.8" + resolved "https://registry.yarnpkg.com/catharsis/-/catharsis-0.8.8.tgz#693479f43aac549d806bd73e924cd0d944951a06" + dependencies: + underscore-contrib "~0.3.0" + +center-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" + dependencies: + align-text "^0.1.3" + lazy-cache "^1.0.3" + +chai@*: + version "3.5.0" + resolved "https://registry.yarnpkg.com/chai/-/chai-3.5.0.tgz#4d02637b067fe958bdbfdd3a40ec56fef7373247" + dependencies: + assertion-error "^1.0.1" + deep-eql "^0.1.3" + type-detect "^1.0.0" + +chainsaw@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/chainsaw/-/chainsaw-0.1.0.tgz#5eab50b28afe58074d0d58291388828b5e5fbc98" + dependencies: + traverse ">=0.3.0 <0.4" + +chalk@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.1.tgz#509afb67066e7499f7eb3535c77445772ae2d019" + dependencies: + ansi-styles "^2.1.0" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3, chalk@~1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" + dependencies: + ansi-styles "~1.0.0" + has-color "~0.1.0" + strip-ansi "~0.1.0" + +chance@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/chance/-/chance-1.0.3.tgz#a23f5b37cd3ef8edd2b11852d792a5a3ad76bd78" + +charm@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/charm/-/charm-0.1.2.tgz#06c21eed1a1b06aeb67553cdc53e23274bac2296" + +cheerio@0.19.0: + version "0.19.0" + resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.19.0.tgz#772e7015f2ee29965096d71ea4175b75ab354925" + dependencies: + css-select "~1.0.0" + dom-serializer "~0.1.0" + entities "~1.1.1" + htmlparser2 "~3.8.1" + lodash "^3.2.0" + +chokidar@^1.4.3, chokidar@~1.4.0: + version "1.4.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.4.3.tgz#5fe733a4d9acaea51b26454b7e59559163d0dbb2" + dependencies: + anymatch "^1.3.0" + async-each "^1.0.0" + glob-parent "^2.0.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^2.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + optionalDependencies: + fsevents "^1.0.0" + +cipher-base@^1.0.0, cipher-base@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.3.tgz#eeabf194419ce900da3018c207d212f2a6df0a07" + dependencies: + inherits "^2.0.1" + +circular-json@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d" + +clean-css@1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-1.1.7.tgz#601ef9cf7642b982cb33efc9488a6444c986686e" + dependencies: + commander "2.0.x" + +clean-css@~3.4.2: + version "3.4.24" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-3.4.24.tgz#89f5a5e9da37ae02394fe049a41388abbe72c3b5" + dependencies: + commander "2.8.x" + source-map "0.4.x" + +cli-color@^0.3.2: + version "0.3.3" + resolved "https://registry.yarnpkg.com/cli-color/-/cli-color-0.3.3.tgz#12d5bdd158ff8a0b0db401198913c03df069f6f5" + dependencies: + d "~0.1.1" + es5-ext "~0.10.6" + memoizee "~0.3.8" + timers-ext "0.1" + +cli-cursor@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" + dependencies: + restore-cursor "^1.0.1" + +cli-table@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23" + dependencies: + colors "1.0.3" + +cli-width@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a" + +cli@0.6.x: + version "0.6.6" + resolved "https://registry.yarnpkg.com/cli/-/cli-0.6.6.tgz#02ad44a380abf27adac5e6f0cdd7b043d74c53e3" + dependencies: + exit "0.1.2" + glob "~ 3.2.1" + +cliui@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" + dependencies: + center-align "^0.1.1" + right-align "^0.1.1" + wordwrap "0.0.2" + +cliui@^3.0.3, cliui@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrap-ansi "^2.0.0" + +clone@1.0.2, clone@1.0.x: + version "1.0.2" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + +coffee-script@1.10.0, coffee-script@~1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/coffee-script/-/coffee-script-1.10.0.tgz#12938bcf9be1948fa006f92e0c4c9e81705108c0" + +colors@1.0.3, colors@1.0.x: + version "1.0.3" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" + +colors@^1.1.2, colors@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" + +combined-stream@^1.0.5, combined-stream@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" + dependencies: + delayed-stream "~1.0.0" + +commander@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-0.6.1.tgz#fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06" + +commander@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/commander/-/commander-1.0.5.tgz#457295bb976e388e9dd0db52de4333e249f3d88c" + dependencies: + keypress "0.1.x" + +commander@2.0.x: + version "2.0.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.0.0.tgz#d1b86f901f8b64bd941bdeadaf924530393be928" + +commander@2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.3.0.tgz#fd430e889832ec353b9acd1de217c11cb3eef873" + +commander@2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.6.0.tgz#9df7e52fb2a0cb0fb89058ee80c3104225f37e1d" + +commander@2.8.x: + version "2.8.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4" + dependencies: + graceful-readlink ">= 1.0.0" + +commander@2.9.0, commander@^2.9, commander@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" + dependencies: + graceful-readlink ">= 1.0.0" + +commander@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.1.0.tgz#d121bbae860d9992a3d517ba96f56588e47c6781" + +component-bind@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1" + +component-emitter@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.1.2.tgz#296594f2753daa63996d2af08d15a95116c9aec3" + +component-emitter@1.2.0, component-emitter@^1.2.0, component-emitter@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.0.tgz#ccd113a86388d06482d03de3fc7df98526ba8efe" + +component-inherit@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + +concat-stream@^1.4.1, concat-stream@^1.4.6: + version "1.6.0" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" + dependencies: + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +config-chain@~1.1.5: + version "1.1.11" + resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.11.tgz#aba09747dfbe4c3e70e766a6e41586e1859fc6f2" + dependencies: + ini "^1.3.4" + proto-list "~1.2.1" + +configurable@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/configurable/-/configurable-0.0.1.tgz#47d75b727b51b4eb84c1dadafe3f8240313833b1" + +connect-flash@0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/connect-flash/-/connect-flash-0.1.1.tgz#d8630f26d95a7f851f9956b1e8cc6732f3b6aa30" + +connect-mongo@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/connect-mongo/-/connect-mongo-1.2.1.tgz#c132467abc0d0efa868f86f1550259911f7847b5" + dependencies: + bluebird ">= 2.0" + mongodb ">= 1.2.0 <2.2.0" + +console-browserify@1.1.x, console-browserify@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" + dependencies: + date-now "^0.1.4" + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + +consolidate@^0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/consolidate/-/consolidate-0.14.5.tgz#5a25047bc76f73072667c8cb52c989888f494c63" + dependencies: + bluebird "^3.1.1" + +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + +content-disposition@0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.1.tgz#87476c6a67c8daa87e32e87616df883ba7fb071b" + +content-type@~1.0.1, content-type@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed" + +cookie-parser@1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/cookie-parser/-/cookie-parser-1.4.3.tgz#0fe31fa19d000b95f4aadf1f53fdc2b8a203baa5" + dependencies: + cookie "0.3.1" + cookie-signature "1.0.6" + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + +cookie@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" + +cookiejar@2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.0.6.tgz#0abf356ad00d1c5a219d88d44518046dd026acfe" + +cookiejar@^2.0.6: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.0.tgz#86549689539b6d0e269b6637a304be508194d898" + +core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + +coveralls@2.11.11, coveralls@^2.11.2: + version "2.11.11" + resolved "https://registry.yarnpkg.com/coveralls/-/coveralls-2.11.11.tgz#e8d5802cdef6dc53eaae6f31cf5836359f7e340e" + dependencies: + js-yaml "3.0.1" + lcov-parse "0.0.6" + log-driver "1.2.4" + minimist "1.2.0" + request "2.69.0" + +crc@3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/crc/-/crc-3.4.0.tgz#4258e351613a74ef1153dfcb05e820c3e9715d7f" + +create-ecdh@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d" + dependencies: + bn.js "^4.1.0" + elliptic "^6.0.0" + +create-hash@^1.1.0, create-hash@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.1.2.tgz#51210062d7bb7479f6c65bb41a92208b1d61abad" + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + ripemd160 "^1.0.0" + sha.js "^2.3.6" + +create-hmac@^1.1.0, create-hmac@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.4.tgz#d3fb4ba253eb8b3f56e39ea2fbcb8af747bd3170" + dependencies: + create-hash "^1.1.0" + inherits "^2.0.1" + +cron@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/cron/-/cron-1.1.0.tgz#61e868c6f18f98e8bcb88bcd7ab9fb8fae909453" + dependencies: + moment-timezone "~0.3.0" + +cross-spawn-async@^2.1.8: + version "2.2.5" + resolved "https://registry.yarnpkg.com/cross-spawn-async/-/cross-spawn-async-2.2.5.tgz#845ff0c0834a3ded9d160daca6d390906bb288cc" + dependencies: + lru-cache "^4.0.0" + which "^1.2.8" + +cross-spawn@^3.0.0, cross-spawn@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" + dependencies: + lru-cache "^4.0.1" + which "^1.2.9" + +cryptiles@2.x.x: + version "2.0.5" + resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" + dependencies: + boom "2.x.x" + +crypto-browserify@^3.11.0: + version "3.11.0" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.11.0.tgz#3652a0906ab9b2a7e0c3ce66a408e957a2485522" + dependencies: + browserify-cipher "^1.0.0" + browserify-sign "^4.0.0" + create-ecdh "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.0" + diffie-hellman "^5.0.0" + inherits "^2.0.1" + pbkdf2 "^3.0.3" + public-encrypt "^4.0.0" + randombytes "^2.0.0" + +css-select@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.0.0.tgz#b1121ca51848dd264e2244d058cee254deeb44b0" + dependencies: + boolbase "~1.0.0" + css-what "1.0" + domutils "1.4" + nth-check "~1.0.0" + +css-what@1.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-1.0.0.tgz#d7cc2df45180666f99d2b14462639469e00f736c" + +csslint@0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/csslint/-/csslint-0.10.0.tgz#3a6a04e7565c8e9d19beb49767c7ec96e8365805" + dependencies: + parserlib "~0.2.2" + +cssom@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.0.tgz#386d5135528fe65c1ee1bc7c4e55a38854dbcf7a" + +currently-unhandled@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + dependencies: + array-find-index "^1.0.1" + +cycle@1.0.x: + version "1.0.3" + resolved "https://registry.yarnpkg.com/cycle/-/cycle-1.0.3.tgz#21e80b2be8580f98b468f379430662b046c34ad2" + +d@^0.1.1, d@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/d/-/d-0.1.1.tgz#da184c535d18d8ee7ba2aa229b914009fae11309" + dependencies: + es5-ext "~0.10.2" + +daemon@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/daemon/-/daemon-1.1.0.tgz#6c5102c81db0be856fc9008fc2c935b398864ae8" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + dependencies: + assert-plus "^1.0.0" + +datauri@~0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/datauri/-/datauri-0.2.1.tgz#f4e8addbb3e54e3dc12d1c88543b8b0b1bf692fa" + dependencies: + mimer "*" + templayed "*" + +date-extended@~0.0.3: + version "0.0.6" + resolved "https://registry.yarnpkg.com/date-extended/-/date-extended-0.0.6.tgz#23802d57dd1bf7818813fe0c32e851a86da267c9" + dependencies: + array-extended "~0.0.3" + extended "~0.0.3" + is-extended "~0.0.3" + +date-now@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" + +dateformat@~1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9" + dependencies: + get-stdin "^4.0.1" + meow "^3.3.0" + +debug@*, debug@2, debug@2.2.0, debug@^2.1.1, debug@^2.2, debug@^2.2.0, debug@~2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" + dependencies: + ms "0.7.1" + +debug@0.7.4: + version "0.7.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-0.7.4.tgz#06e1ea8082c2cb14e39806e22e2f6f757f92af39" + +decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + +declare.js@~0.0.4: + version "0.0.8" + resolved "https://registry.yarnpkg.com/declare.js/-/declare.js-0.0.8.tgz#0478adff9564c004f51df73d8bc134019d28dcde" + +deep-eql@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-0.1.3.tgz#ef558acab8de25206cd713906d74e56930eb69f2" + dependencies: + type-detect "0.1.1" + +deep-equal@~0.2.1: + version "0.2.2" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-0.2.2.tgz#84b745896f34c684e98f2ce0e42abaf43bba017d" + +deep-extend@^0.4.0, deep-extend@~0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253" + +deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + +del@^2.0.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" + dependencies: + globby "^5.0.0" + is-path-cwd "^1.0.0" + is-path-in-cwd "^1.0.0" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + rimraf "^2.2.8" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + +depd@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" + +des.js@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + +dicer@0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/dicer/-/dicer-0.2.5.tgz#5996c086bb33218c812c090bddc09cd12facb70f" + dependencies: + readable-stream "1.1.x" + streamsearch "0.1.2" + +diff@1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf" + +diffie-hellman@^5.0.0: + version "5.0.2" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.2.tgz#b5835739270cfe26acf632099fded2a07f209e5e" + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +dive@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/dive/-/dive-0.5.0.tgz#06d0e07edd25da849598bacab44d51f2809bec47" + +doctrine@^1.2.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + +dom-serializer@0, dom-serializer@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82" + dependencies: + domelementtype "~1.1.1" + entities "~1.1.1" + +domain-browser@^1.1.1: + version "1.1.7" + resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc" + +domelementtype@1, domelementtype@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2" + +domelementtype@~1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" + +domhandler@2.3, domhandler@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.3.0.tgz#2de59a0822d5027fabff6f032c2b25a2a8abe738" + dependencies: + domelementtype "1" + +domutils@1.4: + version "1.4.3" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.4.3.tgz#0865513796c6b306031850e175516baf80b72a6f" + dependencies: + domelementtype "1" + +domutils@1.5, domutils@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" + dependencies: + dom-serializer "0" + domelementtype "1" + +each-async@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/each-async/-/each-async-1.1.1.tgz#dee5229bdf0ab6ba2012a395e1b869abf8813473" + dependencies: + onetime "^1.0.0" + set-immediate-shim "^1.0.0" + +ecc-jsbn@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" + dependencies: + jsbn "~0.1.0" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + +elliptic@^6.0.0: + version "6.3.3" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.3.3.tgz#5482d9646d54bcb89fd7d994fc9e2e9568876e3f" + dependencies: + bn.js "^4.4.0" + brorand "^1.0.1" + hash.js "^1.0.0" + inherits "^2.0.1" + +email-templates@2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/email-templates/-/email-templates-2.3.2.tgz#2125dba30baba1f2660799f220d55da41dc016cf" + dependencies: + bluebird "^3.0.0" + consolidate "^0.14.0" + debug "^2.2.0" + glob "^6.0.0" + juice "^1.0.0" + lodash "^4.0.1" + +emojis-list@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + +encodeurl@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20" + +encoding@^0.1.11, encoding@~0.1.7: + version "0.1.12" + resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" + dependencies: + iconv-lite "~0.4.13" + +engine.io-client@1.6.11: + version "1.6.11" + resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-1.6.11.tgz#7d250d8fa1c218119ecde51390458a57d5171376" + dependencies: + component-emitter "1.1.2" + component-inherit "0.0.3" + debug "2.2.0" + engine.io-parser "1.2.4" + has-cors "1.1.0" + indexof "0.0.1" + parsejson "0.0.1" + parseqs "0.0.2" + parseuri "0.0.4" + ws "1.0.1" + xmlhttprequest-ssl "1.5.1" + yeast "0.1.2" + +engine.io-parser@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-1.2.4.tgz#e0897b0bf14e792d4cd2a5950553919c56948c42" + dependencies: + after "0.8.1" + arraybuffer.slice "0.0.6" + base64-arraybuffer "0.1.2" + blob "0.0.4" + has-binary "0.1.6" + utf8 "2.1.0" + +engine.io@1.6.11: + version "1.6.11" + resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-1.6.11.tgz#2533a97a65876c40ffcf95397b7ef9b495c423fe" + dependencies: + accepts "1.1.4" + base64id "0.1.0" + debug "2.2.0" + engine.io-parser "1.2.4" + ws "1.1.0" + +enhanced-resolve@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.1.0.tgz#9f4b626f577245edcf4b2ad83d86e17f4f421dec" + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.4.0" + object-assign "^4.0.1" + tapable "^0.2.5" + +entities@1.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-1.0.0.tgz#b2987aa3821347fcde642b24fdfc9e4fb712bf26" + +entities@^1.1.1, entities@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" + +errno@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d" + dependencies: + prr "~0.0.0" + +error-ex@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.0.tgz#e67b43f3e82c96ea3a584ffee0b9fc3325d802d9" + dependencies: + is-arrayish "^0.2.1" + +es5-ext@^0.10.7, es5-ext@^0.10.8, es5-ext@~0.10.11, es5-ext@~0.10.2, es5-ext@~0.10.5, es5-ext@~0.10.6, es5-ext@~0.10.7: + version "0.10.12" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.12.tgz#aa84641d4db76b62abba5e45fd805ecbab140047" + dependencies: + es6-iterator "2" + es6-symbol "~3.1" + +es6-iterator@2: + version "2.0.0" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.0.tgz#bd968567d61635e33c0b80727613c9cb4b096bac" + dependencies: + d "^0.1.1" + es5-ext "^0.10.7" + es6-symbol "3" + +es6-iterator@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-0.1.3.tgz#d6f58b8c4fc413c249b4baa19768f8e4d7c8944e" + dependencies: + d "~0.1.1" + es5-ext "~0.10.5" + es6-symbol "~2.0.1" + +es6-map@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.4.tgz#a34b147be224773a4d7da8072794cefa3632b897" + dependencies: + d "~0.1.1" + es5-ext "~0.10.11" + es6-iterator "2" + es6-set "~0.1.3" + es6-symbol "~3.1.0" + event-emitter "~0.3.4" + +es6-promise@3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.0.2.tgz#010d5858423a5f118979665f46486a95c6ee2bb6" + +es6-set@~0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.4.tgz#9516b6761c2964b92ff479456233a247dc707ce8" + dependencies: + d "~0.1.1" + es5-ext "~0.10.11" + es6-iterator "2" + es6-symbol "3" + event-emitter "~0.3.4" + +es6-symbol@3, es6-symbol@~3.1, es6-symbol@~3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.0.tgz#94481c655e7a7cad82eba832d97d5433496d7ffa" + dependencies: + d "~0.1.1" + es5-ext "~0.10.11" + +es6-symbol@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-2.0.1.tgz#761b5c67cfd4f1d18afb234f691d678682cb3bf3" + dependencies: + d "~0.1.1" + es5-ext "~0.10.5" + +es6-weak-map@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.1.tgz#0d2bbd8827eb5fb4ba8f97fbfea50d43db21ea81" + dependencies: + d "^0.1.1" + es5-ext "^0.10.8" + es6-iterator "2" + es6-symbol "3" + +es6-weak-map@~0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-0.1.4.tgz#706cef9e99aa236ba7766c239c8b9e286ea7d228" + dependencies: + d "~0.1.1" + es5-ext "~0.10.6" + es6-iterator "~0.1.3" + es6-symbol "~2.0.1" + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + +escape-regexp@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/escape-regexp/-/escape-regexp-0.0.1.tgz#f44bda12d45bbdf9cb7f862ee7e4827b3dd32254" + +escape-string-regexp@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz#4dbc2fe674e71949caf3fb2695ce7f2dc1d9a8d1" + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5, escape-string-regexp@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + +escodegen@1.8.x: + version "1.8.1" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018" + dependencies: + esprima "^2.7.1" + estraverse "^1.9.1" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.2.0" + +escope@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" + dependencies: + es6-map "^0.1.3" + es6-weak-map "^2.0.1" + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-config-angular@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/eslint-config-angular/-/eslint-config-angular-0.5.0.tgz#e0aae0132e39e7467df3f7547fec81a44d3685c4" + +eslint-plugin-angular@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-angular/-/eslint-plugin-angular-1.6.1.tgz#5d108533da6497d7899ae9be626aabbb4e4879b2" + +eslint-plugin-node@3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-3.0.5.tgz#03c8e23c6011eabd240e7ebf3556ec6e50fc734e" + dependencies: + ignore "^3.0.11" + minimatch "^3.0.2" + object-assign "^4.0.1" + resolve "^1.1.7" + semver "5.3.0" + +eslint@3.14.0: + version "3.14.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.14.0.tgz#2c617e5f782fda5cbee5bc8be7ef5053af8e63a3" + dependencies: + babel-code-frame "^6.16.0" + chalk "^1.1.3" + concat-stream "^1.4.6" + debug "^2.1.1" + doctrine "^1.2.2" + escope "^3.6.0" + espree "^3.3.1" + estraverse "^4.2.0" + esutils "^2.0.2" + file-entry-cache "^2.0.0" + glob "^7.0.3" + globals "^9.14.0" + ignore "^3.2.0" + imurmurhash "^0.1.4" + inquirer "^0.12.0" + is-my-json-valid "^2.10.0" + is-resolvable "^1.0.0" + js-yaml "^3.5.1" + json-stable-stringify "^1.0.0" + levn "^0.3.0" + lodash "^4.0.0" + mkdirp "^0.5.0" + natural-compare "^1.4.0" + optionator "^0.8.2" + path-is-inside "^1.0.1" + pluralize "^1.2.1" + progress "^1.1.8" + require-uncached "^1.0.2" + shelljs "^0.7.5" + strip-bom "^3.0.0" + strip-json-comments "~2.0.1" + table "^3.7.8" + text-table "~0.2.0" + user-home "^2.0.0" + +espree@^3.3.1: + version "3.4.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.0.tgz#41656fa5628e042878025ef467e78f125cb86e1d" + dependencies: + acorn "4.0.4" + acorn-jsx "^3.0.0" + +espree@~3.1.7: + version "3.1.7" + resolved "https://registry.yarnpkg.com/espree/-/espree-3.1.7.tgz#fd5deec76a97a5120a9cd3a7cb1177a0923b11d2" + dependencies: + acorn "^3.3.0" + acorn-jsx "^3.0.0" + +esprima@2.7.x, esprima@^2.6.0, esprima@^2.7.1: + version "2.7.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" + +"esprima@~ 1.0.2": + version "1.0.4" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-1.0.4.tgz#9f557e08fc3b4d26ece9dd34f8fbf476b62585ad" + +esrecurse@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.1.0.tgz#4713b6536adf7f2ac4f327d559e7756bff648220" + dependencies: + estraverse "~4.1.0" + object-assign "^4.0.1" + +estraverse@^1.9.1: + version "1.9.3" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44" + +estraverse@^4.1.1, estraverse@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" + +estraverse@~4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.1.1.tgz#f6caca728933a850ef90661d0e17982ba47111a2" + +esutils@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + +etag@~1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.7.0.tgz#03d30b5f67dd6e632d2945d30d6652731a34d5d8" + +event-emitter@~0.3.4: + version "0.3.4" + resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.4.tgz#8d63ddfb4cfe1fae3b32ca265c4c720222080bb5" + dependencies: + d "~0.1.1" + es5-ext "~0.10.7" + +eventemitter2@0.4.14, eventemitter2@~0.4.13, eventemitter2@~0.4.14: + version "0.4.14" + resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-0.4.14.tgz#8f61b75cde012b2e9eb284d4545583b5643b61ab" + +events@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" + +evp_bytestokey@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz#497b66ad9fef65cd7c08a6180824ba1476b66e53" + dependencies: + create-hash "^1.1.1" + +exit-hook@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" + +exit@0.1.2, exit@0.1.x, exit@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + +expand-brackets@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" + dependencies: + is-posix-bracket "^0.1.0" + +expand-range@^1.8.1: + version "1.8.2" + resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" + dependencies: + fill-range "^2.1.0" + +exports-loader@0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/exports-loader/-/exports-loader-0.6.3.tgz#57dc78917f709b96f247fa91e69b554c855013c8" + dependencies: + loader-utils "0.2.x" + source-map "0.1.x" + +expose-loader@0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/expose-loader/-/expose-loader-0.7.1.tgz#411ee89443aa682f8ea9d9111accf41bfd7e94d9" + +express-hbs@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/express-hbs/-/express-hbs-1.0.2.tgz#0bf29571a5534f02da680504b7d4fba353bf3dab" + dependencies: + handlebars "^4.0.5" + js-beautify "1.5.4" + readdirp "~2.0.1" + +express-session@1.14.0: + version "1.14.0" + resolved "https://registry.yarnpkg.com/express-session/-/express-session-1.14.0.tgz#f5eeed3f38bfa0c6af27a0aeb8c9ec67dc07e39e" + dependencies: + cookie "0.3.1" + cookie-signature "1.0.6" + crc "3.4.0" + debug "~2.2.0" + depd "~1.1.0" + on-headers "~1.0.1" + parseurl "~1.3.1" + uid-safe "~2.1.1" + utils-merge "1.0.0" + +express@4.14.0: + version "4.14.0" + resolved "https://registry.yarnpkg.com/express/-/express-4.14.0.tgz#c1ee3f42cdc891fb3dc650a8922d51ec847d0d66" + dependencies: + accepts "~1.3.3" + array-flatten "1.1.1" + content-disposition "0.5.1" + content-type "~1.0.2" + cookie "0.3.1" + cookie-signature "1.0.6" + debug "~2.2.0" + depd "~1.1.0" + encodeurl "~1.0.1" + escape-html "~1.0.3" + etag "~1.7.0" + finalhandler "0.5.0" + fresh "0.3.0" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.1" + path-to-regexp "0.1.7" + proxy-addr "~1.1.2" + qs "6.2.0" + range-parser "~1.2.0" + send "0.14.1" + serve-static "~1.11.1" + type-is "~1.6.13" + utils-merge "1.0.0" + vary "~1.1.0" + +extend@3.0.0, extend@^3.0.0, extend@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4" + +extended@0.0.6, extended@~0.0.3: + version "0.0.6" + resolved "https://registry.yarnpkg.com/extended/-/extended-0.0.6.tgz#7fb8bf7b9dae397586e48570acfd642c78e50669" + dependencies: + extender "~0.0.5" + +extender@~0.0.5: + version "0.0.10" + resolved "https://registry.yarnpkg.com/extender/-/extender-0.0.10.tgz#589c07482be61a1460b6d81f9c24aa67e8f324cd" + dependencies: + declare.js "~0.0.4" + +extglob@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" + dependencies: + is-extglob "^1.0.0" + +extsprintf@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" + +eyes@0.1.x: + version "0.1.8" + resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0" + +fast-csv@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/fast-csv/-/fast-csv-2.3.1.tgz#f4f06461a2d5a9151a9a9ce26d14119fa9d4bc1d" + dependencies: + extended "0.0.6" + is-extended "0.0.10" + object-extended "0.0.7" + string-extended "0.0.8" + +fast-levenshtein@~2.0.4: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + +faye-websocket@~0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" + dependencies: + websocket-driver ">=0.5.1" + +figures@^1.0.1, figures@^1.3.5: + version "1.7.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" + dependencies: + escape-string-regexp "^1.0.5" + object-assign "^4.1.0" + +file-entry-cache@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" + dependencies: + flat-cache "^1.2.1" + object-assign "^4.0.1" + +file-size-watcher@~0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/file-size-watcher/-/file-size-watcher-0.2.1.tgz#067ab60296a9fe4c6db8226616014d0f7a6fcb0f" + +file-tail@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/file-tail/-/file-tail-0.3.0.tgz#588b30a2fdff1275ae98c8319a88960f0aa650ab" + dependencies: + commander "~2.1.0" + file-size-watcher "~0.2.0" + +filename-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775" + +fileset@0.2.x: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fileset/-/fileset-0.2.1.tgz#588ef8973c6623b2a76df465105696b96aac8067" + dependencies: + glob "5.x" + minimatch "2.x" + +fill-range@^2.1.0: + version "2.2.3" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" + dependencies: + is-number "^2.1.0" + isobject "^2.0.0" + randomatic "^1.1.3" + repeat-element "^1.1.2" + repeat-string "^1.5.2" + +finalhandler@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-0.5.0.tgz#e9508abece9b6dba871a6942a1d7911b91911ac7" + dependencies: + debug "~2.2.0" + escape-html "~1.0.3" + on-finished "~2.3.0" + statuses "~1.3.0" + unpipe "~1.0.0" + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +findup-sync@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.3.0.tgz#37930aa5d816b777c03445e1966cc6790a4c0b16" + dependencies: + glob "~5.0.0" + +flat-cache@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.2.tgz#fa86714e72c21db88601761ecf2f555d1abc6b96" + dependencies: + circular-json "^0.3.1" + del "^2.0.2" + graceful-fs "^4.1.2" + write "^0.2.1" + +for-in@^0.1.5: + version "0.1.6" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.6.tgz#c9f96e89bfad18a545af5ec3ed352a1d9e5b4dc8" + +for-own@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.4.tgz#0149b41a39088c7515f51ebe1c1386d45f935072" + dependencies: + for-in "^0.1.5" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + +form-data@1.0.0-rc3: + version "1.0.0-rc3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-1.0.0-rc3.tgz#d35bc62e7fbc2937ae78f948aaa0d38d90607577" + dependencies: + async "^1.4.0" + combined-stream "^1.0.5" + mime-types "^2.1.3" + +form-data@1.0.0-rc4: + version "1.0.0-rc4" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-1.0.0-rc4.tgz#05ac6bc22227b43e4461f488161554699d4f8b5e" + dependencies: + async "^1.5.2" + combined-stream "^1.0.5" + mime-types "^2.1.10" + +form-data@~1.0.0-rc3, form-data@~1.0.0-rc4: + version "1.0.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-1.0.1.tgz#ae315db9a4907fa065502304a66d7733475ee37c" + dependencies: + async "^2.0.1" + combined-stream "^1.0.5" + mime-types "^2.1.11" + +form-data@~2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.2.tgz#89c3534008b97eada4cbb157d58f6f5df025eae4" + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.5" + mime-types "^2.1.12" + +formidable@^1.0.17: + version "1.1.1" + resolved "https://registry.yarnpkg.com/formidable/-/formidable-1.1.1.tgz#96b8886f7c3c3508b932d6bd70c4d3a88f35f1a9" + +formidable@~1.0.14: + version "1.0.17" + resolved "https://registry.yarnpkg.com/formidable/-/formidable-1.0.17.tgz#ef5491490f9433b705faa77249c99029ae348559" + +forwarded@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.0.tgz#19ef9874c4ae1c297bcf078fde63a09b66a84363" + +fresh@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.3.0.tgz#651f838e22424e7566de161d8358caa199f83d4f" + +fs-extra@^2.0.0, fs-extra@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-2.0.0.tgz#337352bded4a0b714f3eb84de8cea765e9d37600" + dependencies: + graceful-fs "^4.1.2" + jsonfile "^2.1.0" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + +fsevents@^1.0.0: + version "1.0.17" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.0.17.tgz#8537f3f12272678765b4fd6528c0f1f66f8f4558" + dependencies: + nan "^2.3.0" + node-pre-gyp "^0.6.29" + +fstream-ignore@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" + dependencies: + fstream "^1.0.0" + inherits "2" + minimatch "^3.0.0" + +"fstream@>= 0.1.30 < 1": + version "0.1.31" + resolved "https://registry.yarnpkg.com/fstream/-/fstream-0.1.31.tgz#7337f058fbbbbefa8c9f561a28cab0849202c988" + dependencies: + graceful-fs "~3.0.2" + inherits "~2.0.0" + mkdirp "0.5" + rimraf "2" + +fstream@^1.0.0, fstream@^1.0.2, fstream@~1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.10.tgz#604e8a92fe26ffd9f6fae30399d4984e1ab22822" + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" + +gauge@~2.7.1: + version "2.7.3" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.3.tgz#1c23855f962f17b3ad3d0dc7443f304542edfe09" + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + +gaze@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.2.tgz#847224677adb8870d679257ed3388fdb61e40105" + dependencies: + globule "^1.0.0" + +generate-function@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" + +generate-object-property@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" + dependencies: + is-property "^1.0.0" + +get-caller-file@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" + +get-stdin@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + +getobject@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/getobject/-/getobject-0.1.0.tgz#047a449789fa160d018f5486ed91320b6ec7885c" + +getpass@^0.1.1: + version "0.1.6" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6" + dependencies: + assert-plus "^1.0.0" + +glob-base@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" + dependencies: + glob-parent "^2.0.0" + is-glob "^2.0.0" + +glob-parent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + dependencies: + is-glob "^2.0.0" + +glob@3.2.11, "glob@~ 3.2.1": + version "3.2.11" + resolved "https://registry.yarnpkg.com/glob/-/glob-3.2.11.tgz#4a973f635b9190f715d10987d5c00fd2815ebe3d" + dependencies: + inherits "2" + minimatch "0.3" + +glob@5.0.15, glob@5.x, glob@~5.0.0: + version "5.0.15" + resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "2 || 3" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^4.0.0: + version "4.5.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-4.5.3.tgz#c6cb73d3226c1efef04de3c56d012f03377ee15f" + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "^2.0.1" + once "^1.3.0" + +glob@^6.0.0: + version "6.0.4" + resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "2 || 3" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@~7.0.0: + version "7.0.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.6.tgz#211bafaf49e525b8cd93260d14ab136152b3f57a" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.2" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^7.1.1, glob@~7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.2" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^9.14.0: + version "9.14.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.14.0.tgz#8859936af0038741263053b39d0e76ca241e4034" + +globby@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" + dependencies: + array-union "^1.0.1" + arrify "^1.0.0" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +globule@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/globule/-/globule-1.1.0.tgz#c49352e4dc183d85893ee825385eb994bb6df45f" + dependencies: + glob "~7.1.1" + lodash "~4.16.4" + minimatch "~3.0.2" + +graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9: + version "4.1.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" + +graceful-fs@~3.0.2: + version "3.0.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.11.tgz#7613c778a1afea62f25c630a086d7f3acbbdd818" + dependencies: + natives "^1.1.0" + +"graceful-readlink@>= 1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + +growl@1.9.2: + version "1.9.2" + resolved "https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f" + +grunt-apidoc@0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/grunt-apidoc/-/grunt-apidoc-0.11.0.tgz#98c1945ad7e8aba1f1d5f1551eab3d42b010eacd" + dependencies: + apidoc "*" + +grunt-cli@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/grunt-cli/-/grunt-cli-1.2.0.tgz#562b119ebb069ddb464ace2845501be97b35b6a8" + dependencies: + findup-sync "~0.3.0" + grunt-known-options "~1.1.0" + nopt "~3.0.6" + resolve "~1.1.0" + +grunt-contrib-cssmin@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/grunt-contrib-cssmin/-/grunt-contrib-cssmin-1.0.1.tgz#f6d45244cc87efdcc521f6918eafd921efd8c8da" + dependencies: + chalk "^1.0.0" + clean-css "~3.4.2" + maxmin "^1.1.0" + +grunt-contrib-uglify@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/grunt-contrib-uglify/-/grunt-contrib-uglify-1.0.1.tgz#ad68411b963b99661211f76f466bdeded4fb07ac" + dependencies: + chalk "^1.0.0" + lodash "^4.0.1" + maxmin "^1.1.0" + uglify-js "~2.6.2" + uri-path "^1.0.0" + +grunt-contrib-watch@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/grunt-contrib-watch/-/grunt-contrib-watch-1.0.0.tgz#84a1a7a1d6abd26ed568413496c73133e990018f" + dependencies: + async "^1.5.0" + gaze "^1.0.0" + lodash "^3.10.1" + tiny-lr "^0.2.1" + +grunt-express-server@0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/grunt-express-server/-/grunt-express-server-0.5.3.tgz#8236cfd16e5b5a14393464fff82a0c57137b74b8" + +grunt-htmlhint@0.9.13: + version "0.9.13" + resolved "https://registry.yarnpkg.com/grunt-htmlhint/-/grunt-htmlhint-0.9.13.tgz#7170023f30e2e7052792342b48d5bbf912b9d76c" + dependencies: + htmlhint "~0.9.13" + +grunt-jsdoc@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/grunt-jsdoc/-/grunt-jsdoc-2.1.0.tgz#8c2ae5080ca09d18d7adef8797678d46421a3e3a" + dependencies: + cross-spawn "^3.0.1" + jsdoc "^3.4.0" + +grunt-known-options@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/grunt-known-options/-/grunt-known-options-1.1.0.tgz#a4274eeb32fa765da5a7a3b1712617ce3b144149" + +grunt-legacy-log-utils@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/grunt-legacy-log-utils/-/grunt-legacy-log-utils-1.0.0.tgz#a7b8e2d0fb35b5a50f4af986fc112749ebc96f3d" + dependencies: + chalk "~1.1.1" + lodash "~4.3.0" + +grunt-legacy-log@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/grunt-legacy-log/-/grunt-legacy-log-1.0.0.tgz#fb86f1809847bc07dc47843f9ecd6cacb62df2d5" + dependencies: + colors "~1.1.2" + grunt-legacy-log-utils "~1.0.0" + hooker "~0.2.3" + lodash "~3.10.1" + underscore.string "~3.2.3" + +grunt-legacy-util@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/grunt-legacy-util/-/grunt-legacy-util-1.0.0.tgz#386aa78dc6ed50986c2b18957265b1b48abb9b86" + dependencies: + async "~1.5.2" + exit "~0.1.1" + getobject "~0.1.0" + hooker "~0.2.3" + lodash "~4.3.0" + underscore.string "~3.2.3" + which "~1.2.1" + +grunt-parallel@0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/grunt-parallel/-/grunt-parallel-0.5.1.tgz#5f7a3376f6185424128c4b2a2cf2e2d07c37f5d9" + dependencies: + lpad "~0.1.0" + q "~0.8.12" + +grunt-sass@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/grunt-sass/-/grunt-sass-1.2.0.tgz#e3f7eb5d2bf0ae623932fae05ccc0832affbebb3" + dependencies: + each-async "^1.0.0" + node-sass "^3.7.0" + object-assign "^4.0.1" + +grunt-shell@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/grunt-shell/-/grunt-shell-1.3.0.tgz#de56060a934df8ecee64074b61c6304900d71158" + dependencies: + chalk "^1.0.0" + npm-run-path "^1.0.0" + object-assign "^4.0.0" + +grunt@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/grunt/-/grunt-1.0.1.tgz#e8778764e944b18f32bb0f10b9078475c9dfb56b" + dependencies: + coffee-script "~1.10.0" + dateformat "~1.0.12" + eventemitter2 "~0.4.13" + exit "~0.1.1" + findup-sync "~0.3.0" + glob "~7.0.0" + grunt-cli "~1.2.0" + grunt-known-options "~1.1.0" + grunt-legacy-log "~1.0.0" + grunt-legacy-util "~1.0.0" + iconv-lite "~0.4.13" + js-yaml "~3.5.2" + minimatch "~3.0.0" + nopt "~3.0.6" + path-is-absolute "~1.0.0" + rimraf "~2.2.8" + +gzip-size@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-1.0.0.tgz#66cf8b101047227b95bace6ea1da0c177ed5c22f" + dependencies: + browserify-zlib "^0.1.4" + concat-stream "^1.4.1" + +handlebars@4.0.6, handlebars@^4.0.1, handlebars@^4.0.5: + version "4.0.6" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.6.tgz#2ce4484850537f9c97a8026d5399b935c4ed4ed7" + dependencies: + async "^1.4.0" + optimist "^0.6.1" + source-map "^0.4.4" + optionalDependencies: + uglify-js "^2.6" + +har-validator@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" + dependencies: + chalk "^1.1.1" + commander "^2.9.0" + is-my-json-valid "^2.12.4" + pinkie-promise "^2.0.0" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + dependencies: + ansi-regex "^2.0.0" + +has-binary@0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.6.tgz#25326f39cfa4f616ad8787894e3af2cfbc7b6e10" + dependencies: + isarray "0.0.1" + +has-binary@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.7.tgz#68e61eb16210c9545a0a5cce06a873912fe1e68c" + dependencies: + isarray "0.0.1" + +has-color@~0.1.0: + version "0.1.7" + resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" + +has-cors@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39" + +has-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + +hash.js@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.0.3.tgz#1332ff00156c0a0ffdd8236013d07b77a0451573" + dependencies: + inherits "^2.0.1" + +hawk@~3.1.0, hawk@~3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" + dependencies: + boom "2.x.x" + cryptiles "2.x.x" + hoek "2.x.x" + sntp "1.x.x" + +hoek@2.x.x: + version "2.16.3" + resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" + +hooker@~0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/hooker/-/hooker-0.2.3.tgz#b834f723cc4a242aa65963459df6d984c5d3d959" + +hooks-fixed@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/hooks-fixed/-/hooks-fixed-1.1.0.tgz#0e8c15336708e6611185fe390b44687dd5230dbb" + +hosted-git-info@^2.1.4: + version "2.2.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.2.0.tgz#7a0d097863d886c0fabbdcd37bf1758d8becf8a5" + +htmlhint@~0.9.13: + version "0.9.13" + resolved "https://registry.yarnpkg.com/htmlhint/-/htmlhint-0.9.13.tgz#08163cb1e6aa505048ebb0b41063a7ca07dc6c88" + dependencies: + async "1.4.2" + colors "1.0.3" + commander "2.6.0" + csslint "0.10.0" + glob "5.0.15" + jshint "2.8.0" + parse-glob "3.0.4" + strip-json-comments "1.0.4" + xml "1.0.0" + +htmlparser2@3.8.x, htmlparser2@~3.8.1: + version "3.8.3" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.8.3.tgz#996c28b191516a8be86501a7d79757e5c70c1068" + dependencies: + domelementtype "1" + domhandler "2.3" + domutils "1.5" + entities "1.0" + readable-stream "1.1" + +htmlparser2@^3.9.0: + version "3.9.2" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.9.2.tgz#1bdf87acca0f3f9e53fa4fcceb0f4b4cbb00b338" + dependencies: + domelementtype "^1.3.0" + domhandler "^2.3.0" + domutils "^1.5.1" + entities "^1.1.1" + inherits "^2.0.1" + readable-stream "^2.0.2" + +http-errors@~1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.3.1.tgz#197e22cdebd4198585e8694ef6786197b91ed942" + dependencies: + inherits "~2.0.1" + statuses "1" + +http-errors@~1.5.0, http-errors@~1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.5.1.tgz#788c0d2c1de2c81b9e6e8c01843b6b97eb920750" + dependencies: + inherits "2.0.3" + setprototypeof "1.0.2" + statuses ">= 1.3.1 < 2" + +http-signature@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" + dependencies: + assert-plus "^0.2.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +httpntlm@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/httpntlm/-/httpntlm-1.6.1.tgz#ad01527143a2e8773cfae6a96f58656bb52a34b2" + dependencies: + httpreq ">=0.4.22" + underscore "~1.7.0" + +httpreq@>=0.4.22: + version "0.4.22" + resolved "https://registry.yarnpkg.com/httpreq/-/httpreq-0.4.22.tgz#27097c8ad95ea9679190530c9c0f66b8c7aafb18" + +https-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82" + +i@0.3.x: + version "0.3.5" + resolved "https://registry.yarnpkg.com/i/-/i-0.3.5.tgz#1d2b854158ec8169113c6cb7f6b6801e99e211d5" + +iconv-lite@0.4.13, iconv-lite@~0.4.13: + version "0.4.13" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" + +iconv-lite@^0.4.15: + version "0.4.15" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb" + +ieee754@^1.1.4: + version "1.1.8" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" + +ignore@^3.0.11, ignore@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.2.tgz#1c51e1ef53bab6ddc15db4d9ac4ec139eceb3410" + +"ikt@git+http://ikt.pm2.io/ikt.git#master": + version "0.0.0" + resolved "git+http://ikt.pm2.io/ikt.git#3325a3e39a502418dc2e2e4bf21529cbbde96228" + +imap@0.8.17: + version "0.8.17" + resolved "https://registry.yarnpkg.com/imap/-/imap-0.8.17.tgz#e70ff1d1def0456af8bf1d96164d36176662172a" + dependencies: + readable-stream "1.1.x" + utf7 "1.0.0" + +imports-loader@0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/imports-loader/-/imports-loader-0.7.0.tgz#468c04de8075941cfab28146c755c24cc1f36ccd" + dependencies: + loader-utils "^0.2.16" + source-map "^0.5.6" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + +in-publish@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz#e20ff5e3a2afc2690320b6dc552682a9c7fadf51" + +indent-string@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + dependencies: + repeating "^2.0.0" + +indexof@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + +ini@^1.3.0, ini@^1.3.4, ini@~1.3.0: + version "1.3.4" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" + +inquirer@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" + dependencies: + ansi-escapes "^1.1.0" + ansi-regex "^2.0.0" + chalk "^1.0.0" + cli-cursor "^1.0.1" + cli-width "^2.0.0" + figures "^1.3.5" + lodash "^4.3.0" + readline2 "^1.0.1" + run-async "^0.1.0" + rx-lite "^3.1.2" + string-width "^1.0.1" + strip-ansi "^3.0.0" + through "^2.3.6" + +interpret@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.1.tgz#d579fb7f693b858004947af39fa0db49f795602c" + +invert-kv@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + +ip-address@5.8.6: + version "5.8.6" + resolved "https://registry.yarnpkg.com/ip-address/-/ip-address-5.8.6.tgz#666279e21a38f9c274fa503cacfc339fa6ee483f" + dependencies: + jsbn "0.1.0" + lodash.find "^4.6.0" + lodash.max "^4.0.1" + lodash.merge "^4.6.0" + lodash.padstart "^4.6.1" + lodash.repeat "^4.1.0" + sprintf-js "^1.0.3" + util-deprecate "^1.0.2" + +ip@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.4.tgz#de8247ffef940451832550fba284945e6e039bfb" + +ipaddr.js@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.2.0.tgz#8aba49c9192799585bdd643e0ccb50e8ae777ba4" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + dependencies: + binary-extensions "^1.0.0" + +is-buffer@^1.0.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.4.tgz#cfc86ccd5dc5a52fa80489111c6920c457e2d98b" + +is-builtin-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" + dependencies: + builtin-modules "^1.0.0" + +is-dotfile@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d" + +is-equal-shallow@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" + dependencies: + is-primitive "^2.0.0" + +is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + +is-extended@0.0.10, is-extended@~0.0.3, is-extended@~0.0.8: + version "0.0.10" + resolved "https://registry.yarnpkg.com/is-extended/-/is-extended-0.0.10.tgz#244e140df75bb1c9a3106f412ff182fb534a6d62" + dependencies: + extended "~0.0.3" + +is-extglob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + +is-finite@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + +is-glob@^2.0.0, is-glob@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + dependencies: + is-extglob "^1.0.0" + +is-my-json-valid@^2.10.0, is-my-json-valid@^2.12.4: + version "2.15.0" + resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz#936edda3ca3c211fd98f3b2d3e08da43f7b2915b" + dependencies: + generate-function "^2.0.0" + generate-object-property "^1.1.0" + jsonpointer "^4.0.0" + xtend "^4.0.0" + +is-number@^2.0.2, is-number@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + dependencies: + kind-of "^3.0.2" + +is-path-cwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" + +is-path-in-cwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc" + dependencies: + is-path-inside "^1.0.0" + +is-path-inside@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f" + dependencies: + path-is-inside "^1.0.1" + +is-posix-bracket@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + +is-primitive@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" + +is-property@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" + +is-resolvable@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62" + dependencies: + tryit "^1.0.1" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + +is-utf8@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + +isexe@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-1.1.2.tgz#36f3e22e60750920f5e7241a476a8c6a42275ad0" + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + dependencies: + isarray "1.0.0" + +isstream@0.1.x, isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + +istanbul-coveralls@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/istanbul-coveralls/-/istanbul-coveralls-1.0.3.tgz#4f1c1592be104d591f933cbf9c0f2f5284adcf00" + dependencies: + chalk "^1.0.0" + coveralls "^2.11.2" + minimist "^1.1.1" + rimraf "^2.3.4" + sum-up "^1.0.1" + +istanbul@0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/istanbul/-/istanbul-0.4.4.tgz#e8cf718dfedb713c8334ab9ffade35f1042d2a56" + dependencies: + abbrev "1.0.x" + async "1.x" + escodegen "1.8.x" + esprima "2.7.x" + fileset "0.2.x" + handlebars "^4.0.1" + js-yaml "3.x" + mkdirp "0.5.x" + nopt "3.x" + once "1.x" + resolve "1.1.x" + supports-color "^3.1.0" + which "^1.1.1" + wordwrap "^1.0.0" + +jade@0.26.3: + version "0.26.3" + resolved "https://registry.yarnpkg.com/jade/-/jade-0.26.3.tgz#8f10d7977d8d79f2f6ff862a81b0513ccb25686c" + dependencies: + commander "0.6.1" + mkdirp "0.3.0" + +jodid25519@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967" + dependencies: + jsbn "~0.1.0" + +js-beautify@1.5.4: + version "1.5.4" + resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.5.4.tgz#5b5abe634aa675713ed2ab2edc200d93555a07bd" + dependencies: + config-chain "~1.1.5" + mkdirp "~0.5.0" + nopt "~3.0.1" + +js-string-escape@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/js-string-escape/-/js-string-escape-1.0.1.tgz#e2625badbc0d67c7533e9edc1068c587ae4137ef" + +js-tokens@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" + +js-yaml@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.0.1.tgz#76405fea5bce30fc8f405d48c6dca7f0a32c6afe" + dependencies: + argparse "~ 0.1.11" + esprima "~ 1.0.2" + +js-yaml@3.x, js-yaml@^3.5.1, js-yaml@~3.5.2: + version "3.5.5" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.5.5.tgz#0377c38017cabc7322b0d1fbcd25a491641f2fbe" + dependencies: + argparse "^1.0.2" + esprima "^2.6.0" + +js2xmlparser@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/js2xmlparser/-/js2xmlparser-1.0.0.tgz#5a170f2e8d6476ce45405e04823242513782fe30" + +jsbn@0.1.0, jsbn@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.0.tgz#650987da0dd74f4ebf5a11377a2aa2d273e97dfd" + +jsdoc@3.4.3, jsdoc@^3.4.0: + version "3.4.3" + resolved "https://registry.yarnpkg.com/jsdoc/-/jsdoc-3.4.3.tgz#e5740d6145c681f6679e6c17783a88dbdd97ccd3" + dependencies: + bluebird "~3.4.6" + catharsis "~0.8.8" + escape-string-regexp "~1.0.5" + espree "~3.1.7" + js2xmlparser "~1.0.0" + klaw "~1.3.0" + marked "~0.3.6" + mkdirp "~0.5.1" + requizzle "~0.2.1" + strip-json-comments "~2.0.1" + taffydb "2.6.2" + underscore "~1.8.3" + +jshint@2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/jshint/-/jshint-2.8.0.tgz#1d09a3bd913c4cadfa81bf18d582bd85bffe0d44" + dependencies: + cli "0.6.x" + console-browserify "1.1.x" + exit "0.1.x" + htmlparser2 "3.8.x" + lodash "3.7.x" + minimatch "2.0.x" + shelljs "0.3.x" + strip-json-comments "1.0.x" + +json-loader@^0.5.4: + version "0.5.4" + resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.4.tgz#8baa1365a632f58a3c46d20175fc6002c96e37de" + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + +json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + dependencies: + jsonify "~0.0.0" + +json-stringify-safe@*, json-stringify-safe@^5.0, json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + +json3@3.2.6: + version "3.2.6" + resolved "https://registry.yarnpkg.com/json3/-/json3-3.2.6.tgz#f6efc93c06a04de9aec53053df2559bb19e2038b" + +json3@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" + +json5@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + +jsonfile@^2.1.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonify@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + +jsonpointer@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" + +jsprim@^1.2.2: + version "1.3.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.3.1.tgz#2a7256f70412a29ee3670aaca625994c4dcff252" + dependencies: + extsprintf "1.0.2" + json-schema "0.2.3" + verror "1.3.6" + +juice@^1.0.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/juice/-/juice-1.11.0.tgz#4a7ff6bef3f3fa4b610f824aeb27ed8f3601ad73" + dependencies: + batch "0.5.3" + cheerio "0.19.0" + commander "2.9.0" + cross-spawn-async "^2.1.8" + cssom "0.3.0" + deep-extend "^0.4.0" + slick "1.12.2" + util-deprecate "^1.0.2" + web-resource-inliner "1.2.1" + +kareem@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/kareem/-/kareem-1.1.3.tgz#0877610d8879c38da62d1dbafde4e17f2692f041" + +kerberos@0.0.21: + version "0.0.21" + resolved "https://registry.yarnpkg.com/kerberos/-/kerberos-0.0.21.tgz#414f7f947d45afff10406018f233bf471a1d1195" + dependencies: + nan "~2.3" + +keypress@0.1.x: + version "0.1.0" + resolved "https://registry.yarnpkg.com/keypress/-/keypress-0.1.0.tgz#4a3188d4291b66b4f65edb99f806aa9ae293592a" + +kind-of@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47" + dependencies: + is-buffer "^1.0.2" + +klaw-sync@^1.0.2: + version "1.1.1" + resolved "https://registry.yarnpkg.com/klaw-sync/-/klaw-sync-1.1.1.tgz#a9d38cf8f0df17cb696b2e099423c6de92f41273" + dependencies: + micromatch "^2.3.11" + optionalDependencies: + graceful-fs "^4.1.11" + +klaw@~1.3.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" + optionalDependencies: + graceful-fs "^4.1.9" + +lazy-cache@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" + +lazy@~1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/lazy/-/lazy-1.0.11.tgz#daa068206282542c088288e975c297c1ae77b690" + +lcid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + dependencies: + invert-kv "^1.0.0" + +lcov-parse@0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/lcov-parse/-/lcov-parse-0.0.6.tgz#819e5da8bf0791f9d3f39eea5ed1868187f11175" + +levn@^0.3.0, levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +libbase64@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/libbase64/-/libbase64-0.1.0.tgz#62351a839563ac5ff5bd26f12f60e9830bb751e6" + +libmime@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/libmime/-/libmime-2.0.3.tgz#55751aa832d31492363df3dd810580dfd59d080c" + dependencies: + iconv-lite "0.4.13" + libbase64 "0.1.0" + libqp "1.1.0" + +libqp@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/libqp/-/libqp-1.1.0.tgz#f5e6e06ad74b794fb5b5b66988bf728ef1dedbe8" + +linkify-it@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-2.0.3.tgz#d94a4648f9b1c179d64fa97291268bdb6ce9434f" + dependencies: + uc.micro "^1.0.1" + +livereload-js@^2.2.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/livereload-js/-/livereload-js-2.2.2.tgz#6c87257e648ab475bc24ea257457edcc1f8d0bc2" + +load-json-file@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + +loader-runner@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" + +loader-utils@0.2.x, loader-utils@^0.2.16: + version "0.2.16" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.16.tgz#f08632066ed8282835dff88dfb52704765adee6d" + dependencies: + big.js "^3.1.3" + emojis-list "^2.0.0" + json5 "^0.5.0" + object-assign "^4.0.1" + +lodash.assign@^4.0.3, lodash.assign@^4.0.6: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" + +lodash.clonedeep@^4.3.2: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" + +lodash.find@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.find/-/lodash.find-4.6.0.tgz#cb0704d47ab71789ffa0de8b97dd926fb88b13b1" + +lodash.max@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.max/-/lodash.max-4.0.1.tgz#8735566c618b35a9f760520b487ae79658af136a" + +lodash.merge@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.0.tgz#69884ba144ac33fe699737a6086deffadd0f89c5" + +lodash.padstart@^4.6.1: + version "4.6.1" + resolved "https://registry.yarnpkg.com/lodash.padstart/-/lodash.padstart-4.6.1.tgz#d2e3eebff0d9d39ad50f5cbd1b52a7bce6bb611b" + +lodash.repeat@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/lodash.repeat/-/lodash.repeat-4.1.0.tgz#fc7de8131d8c8ac07e4b49f74ffe829d1f2bec44" + +lodash@3.7.x: + version "3.7.0" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.7.0.tgz#3678bd8ab995057c07ade836ed2ef087da811d45" + +lodash@4.13.1, lodash@4.x, lodash@^4.0.1, lodash@^4.8.0: + version "4.13.1" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.13.1.tgz#83e4b10913f48496d4d16fec4a560af2ee744b68" + +lodash@^3.10.1, lodash@^3.2.0, lodash@~3.10.1: + version "3.10.1" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" + +lodash@^4.0.0, lodash@^4.14.0, lodash@^4.3.0, lodash@~4.17.4: + version "4.17.4" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" + +lodash@~4.16.4: + version "4.16.6" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.6.tgz#d22c9ac660288f3843e16ba7d2b5d06cca27d777" + +lodash@~4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.3.0.tgz#efd9c4a6ec53f3b05412429915c3e4824e4d25a4" + +log-driver@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/log-driver/-/log-driver-1.2.4.tgz#2d62d7faef45d8a71341961a04b0761eca99cfa3" + +log-rotate@~0.2.2: + version "0.2.7" + resolved "https://registry.yarnpkg.com/log-rotate/-/log-rotate-0.2.7.tgz#aadb64259eea49e5668842342c864d0b142e8c2d" + +logrotate-stream@0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/logrotate-stream/-/logrotate-stream-0.2.5.tgz#fdd42e7982a7ee2eb86b55f5f23dcbffc66e6990" + dependencies: + byt "~0.1.0" + log-rotate "~0.2.2" + optimist "~0.6.0" + +longest@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" + +loud-rejection@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + dependencies: + currently-unhandled "^0.4.1" + signal-exit "^3.0.0" + +lpad@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/lpad/-/lpad-0.1.0.tgz#e4c60c29139321c5970de493b496ae0d774cd2a7" + +lru-cache@2: + version "2.7.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" + +lru-cache@^4.0.0, lru-cache@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e" + dependencies: + pseudomap "^1.0.1" + yallist "^2.0.0" + +lru-queue@0.1: + version "0.1.0" + resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" + dependencies: + es5-ext "~0.10.2" + +mailcomposer@3.10.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/mailcomposer/-/mailcomposer-3.10.0.tgz#ce55c7b488ae84520a38f221aa12c4ce526d5168" + dependencies: + buildmail "3.8.0" + libmime "2.0.3" + +mailparser@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/mailparser/-/mailparser-0.6.1.tgz#3de4db3f4a90c160c06d8cb8b825a7f1c6f6a7c3" + dependencies: + encoding "^0.1.11" + mime "^1.3.4" + mimelib "^0.2.19" + uue "^3.0.0" + +map-obj@^1.0.0, map-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + +markdown-it@^8.2.2: + version "8.2.2" + resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-8.2.2.tgz#e39593d976f9c4b7ee7f338a3a1e9e10c3db4e36" + dependencies: + argparse "^1.0.7" + entities "~1.1.1" + linkify-it "^2.0.0" + mdurl "^1.0.1" + uc.micro "^1.0.3" + +marked@0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.5.tgz#4113a15ac5d7bca158a5aae07224587b9fa15b94" + +marked@~0.3.6: + version "0.3.6" + resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.6.tgz#b2c6c618fccece4ef86c4fc6cb8a7cbf5aeda8d7" + +"match-stream@>= 0.0.2 < 1": + version "0.0.2" + resolved "https://registry.yarnpkg.com/match-stream/-/match-stream-0.0.2.tgz#99eb050093b34dffade421b9ac0b410a9cfa17cf" + dependencies: + buffers "~0.1.1" + readable-stream "~1.0.0" + +matchdep@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/matchdep/-/matchdep-1.0.1.tgz#a57a33804491fbae208aba8f68380437abc2dca5" + dependencies: + findup-sync "~0.3.0" + micromatch "^2.3.7" + resolve "~1.1.6" + stack-trace "0.0.9" + +maxmin@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/maxmin/-/maxmin-1.1.0.tgz#71365e84a99dd8f8b3f7d5fde2f00d1e7f73be61" + dependencies: + chalk "^1.0.0" + figures "^1.0.1" + gzip-size "^1.0.0" + pretty-bytes "^1.0.0" + +mdurl@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + +memoizee@~0.3.8: + version "0.3.10" + resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.3.10.tgz#4eca0d8aed39ec9d017f4c5c2f2f6432f42e5c8f" + dependencies: + d "~0.1.1" + es5-ext "~0.10.11" + es6-weak-map "~0.1.4" + event-emitter "~0.3.4" + lru-queue "0.1" + next-tick "~0.2.2" + timers-ext "0.1" + +memory-fs@^0.4.0, memory-fs@~0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +meow@^3.1.0, meow@^3.3.0, meow@^3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" + dependencies: + camelcase-keys "^2.0.0" + decamelize "^1.1.2" + loud-rejection "^1.0.0" + map-obj "^1.0.1" + minimist "^1.1.3" + normalize-package-data "^2.3.4" + object-assign "^4.0.1" + read-pkg-up "^1.0.1" + redent "^1.0.0" + trim-newlines "^1.0.0" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + +methods@1.x, methods@^1.1.1, methods@~1.1.1, methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + +micromatch@^2.1.5, micromatch@^2.3.11, micromatch@^2.3.7: + version "2.3.11" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" + dependencies: + arr-diff "^2.0.0" + array-unique "^0.2.1" + braces "^1.8.2" + expand-brackets "^0.1.4" + extglob "^0.3.1" + filename-regex "^2.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.1" + kind-of "^3.0.2" + normalize-path "^2.0.1" + object.omit "^2.0.0" + parse-glob "^3.0.4" + regex-cache "^0.4.2" + +miller-rabin@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.0.tgz#4a62fb1d42933c05583982f4c716f6fb9e6c6d3d" + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mime-db@~1.12.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.12.0.tgz#3d0c63180f458eb10d325aaa37d7c58ae312e9d7" + +mime-db@~1.26.0: + version "1.26.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.26.0.tgz#eaffcd0e4fc6935cf8134da246e2e6c35305adff" + +mime-types@^2.1.10, mime-types@^2.1.11, mime-types@^2.1.12, mime-types@^2.1.3, mime-types@~2.1.11, mime-types@~2.1.13, mime-types@~2.1.7: + version "2.1.14" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.14.tgz#f7ef7d97583fcaf3b7d282b6f8b5679dab1e94ee" + dependencies: + mime-db "~1.26.0" + +mime-types@~2.0.4: + version "2.0.14" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.0.14.tgz#310e159db23e077f8bb22b748dabfa4957140aa6" + dependencies: + mime-db "~1.12.0" + +mime@1.3.4, mime@^1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" + +mimelib@^0.2.19: + version "0.2.19" + resolved "https://registry.yarnpkg.com/mimelib/-/mimelib-0.2.19.tgz#37ec90a6ac7d00954851d0b2c31618f0a49da0ee" + dependencies: + addressparser "~0.3.2" + encoding "~0.1.7" + +mimer@*: + version "0.2.1" + resolved "https://registry.yarnpkg.com/mimer/-/mimer-0.2.1.tgz#c63c5a17fe86423f5161a85d55c3ed5189baaffc" + +minimalistic-assert@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3" + +minimatch@0.3: + version "0.3.0" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.3.0.tgz#275d8edaac4f1bb3326472089e7949c8394699dd" + dependencies: + lru-cache "2" + sigmund "~1.0.0" + +"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@~3.0.0, minimatch@~3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" + dependencies: + brace-expansion "^1.0.0" + +minimatch@2.0.x, minimatch@2.x, minimatch@^2.0.1: + version "2.0.10" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz#8d087c39c6b38c001b97fca7ce6d0e1e80afbac7" + dependencies: + brace-expansion "^1.0.0" + +minimist@0.0.8, minimist@~0.0.1: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + +minimist@1.2.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + +mkdirp@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.0.tgz#1bbf5ab1ba827af23575143490426455f481fe1e" + +mkdirp@0.5, mkdirp@0.5.1, mkdirp@0.5.x, mkdirp@0.x.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + dependencies: + minimist "0.0.8" + +mocha-lcov-reporter@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mocha-lcov-reporter/-/mocha-lcov-reporter-1.2.0.tgz#8f7ba1512ae1271611d927669d99b6c2e99f058f" + +mocha@2.5.3: + version "2.5.3" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-2.5.3.tgz#161be5bdeb496771eb9b35745050b622b5aefc58" + dependencies: + commander "2.3.0" + debug "2.2.0" + diff "1.4.0" + escape-string-regexp "1.0.2" + glob "3.2.11" + growl "1.9.2" + jade "0.26.3" + mkdirp "0.5.1" + supports-color "1.2.0" + to-iso-string "0.0.2" + +moment-timezone@~0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.3.1.tgz#3ef47856b02d53b718a10a5ec2023aa299e07bf5" + dependencies: + moment ">= 2.6.0" + +moment@2.10.2: + version "2.10.2" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.10.2.tgz#faf8c09ca82f03f94962e3b5a7239263ea50d087" + +"moment@>= 2.6.0", moment@^2.12: + version "2.17.1" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.17.1.tgz#fed9506063f36b10f066c8b59a144d7faebe1d82" + +mongodb-core@1.3.18: + version "1.3.18" + resolved "https://registry.yarnpkg.com/mongodb-core/-/mongodb-core-1.3.18.tgz#90684b3b7c7356d65ae356391d30b0f248804c7a" + dependencies: + bson "~0.4.23" + require_optional "~1.0.0" + +mongodb-core@1.3.21: + version "1.3.21" + resolved "https://registry.yarnpkg.com/mongodb-core/-/mongodb-core-1.3.21.tgz#fe129e7bee2b3b26c1409de02ab60d03f6291cca" + dependencies: + bson "~0.4.23" + require_optional "~1.0.0" + +mongodb@2.1.18: + version "2.1.18" + resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-2.1.18.tgz#28d40b515b2be4d5a69ffdd4c535f0df432e4097" + dependencies: + es6-promise "3.0.2" + mongodb-core "1.3.18" + readable-stream "1.0.31" + +"mongodb@>= 1.2.0 <2.2.0": + version "2.1.21" + resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-2.1.21.tgz#764709dbcceb5825b4eb31f95395f965fd442272" + dependencies: + es6-promise "3.0.2" + mongodb-core "1.3.21" + readable-stream "1.0.31" + +mongoose-deep-populate@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mongoose-deep-populate/-/mongoose-deep-populate-3.0.0.tgz#8100d0698b2211c646a6e92441a666d444171fa0" + +mongoose@4.5.3: + version "4.5.3" + resolved "https://registry.yarnpkg.com/mongoose/-/mongoose-4.5.3.tgz#7939a6c67060a36e94e86765189470249fb9498c" + dependencies: + async "1.5.2" + bson "~0.4.23" + hooks-fixed "1.1.0" + kareem "1.1.3" + mongodb "2.1.18" + mpath "0.2.1" + mpromise "0.5.5" + mquery "1.11.0" + ms "0.7.1" + muri "1.1.0" + regexp-clone "0.0.1" + sliced "1.0.1" + +morgan@1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.7.0.tgz#eb10ca8e50d1abe0f8d3dad5c0201d052d981c62" + dependencies: + basic-auth "~1.0.3" + debug "~2.2.0" + depd "~1.1.0" + on-finished "~2.3.0" + on-headers "~1.0.1" + +mpath@0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/mpath/-/mpath-0.2.1.tgz#3a4e829359801de96309c27a6b2e102e89f9e96e" + +mpromise@0.5.5: + version "0.5.5" + resolved "https://registry.yarnpkg.com/mpromise/-/mpromise-0.5.5.tgz#f5b24259d763acc2257b0a0c8c6d866fd51732e6" + +mquery@1.11.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/mquery/-/mquery-1.11.0.tgz#e0c65dedb1037edbf6cfb88262e777fee23551d9" + dependencies: + bluebird "2.10.2" + debug "2.2.0" + regexp-clone "0.0.1" + sliced "0.0.5" + +ms@0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" + +ms@0.7.2: + version "0.7.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765" + +muri@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/muri/-/muri-1.1.0.tgz#a3a6d74e68a880f433a249a74969cbb665cc0add" + +mute-stream@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" + +mute-stream@~0.0.4: + version "0.0.7" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" + +nan@2.3.5, nan@^2.3.0, nan@^2.3.2, nan@~2.3: + version "2.3.5" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.3.5.tgz#822a0dc266290ce4cd3a12282ca3e7e364668a08" + +natives@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/natives/-/natives-1.1.0.tgz#e9ff841418a6b2ec7a495e939984f78f163e6e31" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + +nconf@0.8.4: + version "0.8.4" + resolved "https://registry.yarnpkg.com/nconf/-/nconf-0.8.4.tgz#9502234f7ad6238cab7f92d7c068c20434d3ff93" + dependencies: + async "^1.4.0" + ini "^1.3.0" + secure-keys "^1.0.0" + yargs "^3.19.0" + +ncp@1.0.x: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ncp/-/ncp-1.0.1.tgz#d15367e5cb87432ba117d2bf80fdf45aecfb4246" + +negotiator@0.4.9: + version "0.4.9" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.4.9.tgz#92e46b6db53c7e421ed64a2bc94f08be7630df3f" + +negotiator@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" + +netmask@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/netmask/-/netmask-1.0.6.tgz#20297e89d86f6f6400f250d9f4f6b4c1945fcd35" + +next-tick@~0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-0.2.2.tgz#75da4a927ee5887e39065880065b7336413b310d" + +node-cache@3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/node-cache/-/node-cache-3.2.1.tgz#a7958d32a8a42d9119ce25986567ea2c5f966773" + dependencies: + clone "1.0.x" + lodash "4.x" + +node-forge@^0.6.20: + version "0.6.49" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.6.49.tgz#f1ee95d5d74623938fe19d698aa5a26d54d2f60f" + +node-gyp@^3.3.1: + version "3.5.0" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.5.0.tgz#a8fe5e611d079ec16348a3eb960e78e11c85274a" + dependencies: + fstream "^1.0.0" + glob "^7.0.3" + graceful-fs "^4.1.2" + minimatch "^3.0.2" + mkdirp "^0.5.0" + nopt "2 || 3" + npmlog "0 || 1 || 2 || 3 || 4" + osenv "0" + request "2" + rimraf "2" + semver "2.x || 3.x || 4 || 5" + tar "^2.0.0" + which "1" + +node-libs-browser@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.0.0.tgz#a3a59ec97024985b46e958379646f96c4b616646" + dependencies: + assert "^1.1.1" + browserify-zlib "^0.1.4" + buffer "^4.3.0" + console-browserify "^1.1.0" + constants-browserify "^1.0.0" + crypto-browserify "^3.11.0" + domain-browser "^1.1.1" + events "^1.0.0" + https-browserify "0.0.1" + os-browserify "^0.2.0" + path-browserify "0.0.0" + process "^0.11.0" + punycode "^1.2.4" + querystring-es3 "^0.2.0" + readable-stream "^2.0.5" + stream-browserify "^2.0.1" + stream-http "^2.3.1" + string_decoder "^0.10.25" + timers-browserify "^2.0.2" + tty-browserify "0.0.0" + url "^0.11.0" + util "^0.10.3" + vm-browserify "0.0.4" + +node-pre-gyp@^0.6.29: + version "0.6.33" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.33.tgz#640ac55198f6a925972e0c16c4ac26a034d5ecc9" + dependencies: + mkdirp "~0.5.1" + nopt "~3.0.6" + npmlog "^4.0.1" + rc "~1.1.6" + request "^2.79.0" + rimraf "~2.5.4" + semver "~5.3.0" + tar "~2.2.1" + tar-pack "~3.3.0" + +node-sass@3.8.0, node-sass@^3.7.0: + version "3.8.0" + resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-3.8.0.tgz#ec0f89ae6625e1d990dc7ff713b275ea15dfee05" + dependencies: + async-foreach "^0.1.3" + chalk "^1.1.1" + cross-spawn "^3.0.0" + gaze "^1.0.0" + get-stdin "^4.0.1" + glob "^7.0.3" + in-publish "^2.0.0" + lodash.clonedeep "^4.3.2" + meow "^3.7.0" + mkdirp "^0.5.1" + nan "^2.3.2" + node-gyp "^3.3.1" + request "^2.61.0" + sass-graph "^2.1.1" + +node-uuid@~1.4.7: + version "1.4.7" + resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.7.tgz#6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f" + +nodemailer-direct-transport@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/nodemailer-direct-transport/-/nodemailer-direct-transport-3.2.0.tgz#f327616922422b2bb6c9695ba248b3a4d773b231" + dependencies: + nodemailer-shared "1.0.5" + smtp-connection "2.8.0" + +nodemailer-fetch@1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/nodemailer-fetch/-/nodemailer-fetch-1.4.0.tgz#08a6174f755aba6ad9d88133355a70c1dee4e698" + +nodemailer-shared@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nodemailer-shared/-/nodemailer-shared-1.0.5.tgz#6de64484d47944422bb5f0886fffd908ada4ce5e" + dependencies: + nodemailer-fetch "1.4.0" + +nodemailer-smtp-pool@2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/nodemailer-smtp-pool/-/nodemailer-smtp-pool-2.7.0.tgz#00bdcf0f4cd5d6313f3e89397e5dde199acc9b0f" + dependencies: + nodemailer-shared "1.0.5" + nodemailer-wellknown "0.1.10" + smtp-connection "2.8.0" + +nodemailer-smtp-transport@2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/nodemailer-smtp-transport/-/nodemailer-smtp-transport-2.6.0.tgz#f73be795bfbf6921c34aac655f170eb393dceff4" + dependencies: + nodemailer-shared "1.0.5" + nodemailer-wellknown "0.1.10" + smtp-connection "2.8.0" + +nodemailer-wellknown@0.1.10: + version "0.1.10" + resolved "https://registry.yarnpkg.com/nodemailer-wellknown/-/nodemailer-wellknown-0.1.10.tgz#586db8101db30cb4438eb546737a41aad0cf13d5" + +nodemailer@2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-2.5.0.tgz#9cb782b049f4d62e17022dcbe743c3b07a2de55b" + dependencies: + libmime "2.0.3" + mailcomposer "3.10.0" + nodemailer-direct-transport "3.2.0" + nodemailer-shared "1.0.5" + nodemailer-smtp-pool "2.7.0" + nodemailer-smtp-transport "2.6.0" + socks "1.1.9" + +nomnom@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/nomnom/-/nomnom-1.8.1.tgz#2151f722472ba79e50a76fc125bb8c8f2e4dc2a7" + dependencies: + chalk "~0.4.0" + underscore "~1.6.0" + +"nopt@2 || 3", nopt@3.x, nopt@~3.0.1, nopt@~3.0.6: + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + dependencies: + abbrev "1" + +normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: + version "2.3.5" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.5.tgz#8d924f142960e1777e7ffe170543631cc7cb02df" + dependencies: + hosted-git-info "^2.1.4" + is-builtin-module "^1.0.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a" + +notp@2.0.3, notp@2.0.x: + version "2.0.3" + resolved "https://registry.yarnpkg.com/notp/-/notp-2.0.3.tgz#a9fd11e25cfe1ccb39fc6689544ee4c10ef9a577" + +npm-run-path@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-1.0.0.tgz#f5c32bf595fe81ae927daec52e82f8b000ac3c8f" + dependencies: + path-key "^1.0.0" + +"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz#d03950e0e78ce1527ba26d2a7592e9348ac3e75f" + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.1" + set-blocking "~2.0.0" + +nssocket@0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/nssocket/-/nssocket-0.6.0.tgz#59f96f6ff321566f33c70f7dbeeecdfdc07154fa" + dependencies: + eventemitter2 "~0.4.14" + lazy "~1.0.11" + +nth-check@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.1.tgz#9929acdf628fc2c41098deab82ac580cf149aae4" + dependencies: + boolbase "~1.0.0" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + +oauth-sign@~0.8.0, oauth-sign@~0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" + +object-assign@^4.0.0, object-assign@^4.0.1, object-assign@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + +object-component@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291" + +object-extended@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/object-extended/-/object-extended-0.0.7.tgz#84fd23f56b15582aeb3e88b05cb55d2432d68a33" + dependencies: + array-extended "~0.0.4" + extended "~0.0.3" + is-extended "~0.0.3" + +object.omit@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" + dependencies: + for-own "^0.1.4" + is-extendable "^0.1.1" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7" + +once@1.x, once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + dependencies: + wrappy "1" + +once@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" + dependencies: + wrappy "1" + +onetime@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" + +optimist@^0.6.1, optimist@~0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" + dependencies: + minimist "~0.0.1" + wordwrap "~0.0.2" + +optionator@^0.8.1, optionator@^0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.4" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + wordwrap "~1.0.0" + +options@>=0.0.5: + version "0.0.6" + resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f" + +os-browserify@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.2.1.tgz#63fc4ccee5d2d7763d26bbf8601078e6c2e0044f" + +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + +os-locale@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" + dependencies: + lcid "^1.0.0" + +os-tmpdir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + +osenv@0: + version "0.1.4" + resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + +"over@>= 0.0.5 < 1": + version "0.0.5" + resolved "https://registry.yarnpkg.com/over/-/over-0.0.5.tgz#f29852e70fd7e25f360e013a8ec44c82aedb5708" + +pako@~0.2.0: + version "0.2.9" + resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" + +parse-asn1@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.0.0.tgz#35060f6d5015d37628c770f4e091a0b5a278bc23" + dependencies: + asn1.js "^4.0.0" + browserify-aes "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + +parse-glob@3.0.4, parse-glob@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" + dependencies: + glob-base "^0.3.0" + is-dotfile "^1.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.0" + +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + dependencies: + error-ex "^1.2.0" + +parsejson@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/parsejson/-/parsejson-0.0.1.tgz#9b10c6c0d825ab589e685153826de0a3ba278bcc" + dependencies: + better-assert "~1.0.0" + +parseqs@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.2.tgz#9dfe70b2cddac388bde4f35b1f240fa58adbe6c7" + dependencies: + better-assert "~1.0.0" + +parserlib@~0.2.2: + version "0.2.5" + resolved "https://registry.yarnpkg.com/parserlib/-/parserlib-0.2.5.tgz#85907dd8605aa06abb3dd295d50bb2b8fa4dd117" + +parseuri@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.4.tgz#806582a39887e1ea18dd5e2fe0e01902268e9350" + dependencies: + better-assert "~1.0.0" + +parseurl@~1.3.0, parseurl@~1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56" + +passport-http@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/passport-http/-/passport-http-0.3.0.tgz#8ee53d4380be9c60df2151925029826f77115603" + dependencies: + passport-strategy "1.x.x" + +passport-local@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/passport-local/-/passport-local-1.0.0.tgz#1fe63268c92e75606626437e3b906662c15ba6ee" + dependencies: + passport-strategy "1.x.x" + +passport-strategy@1.0.0, passport-strategy@1.x.x: + version "1.0.0" + resolved "https://registry.yarnpkg.com/passport-strategy/-/passport-strategy-1.0.0.tgz#b5539aa8fc225a3d1ad179476ddf236b440f52e4" + +passport-totp@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/passport-totp/-/passport-totp-0.0.2.tgz#3173815af6b75186f969fd4256be7ffd4c1be59a" + dependencies: + notp "2.0.x" + passport-strategy "1.0.0" + pkginfo "0.2.x" + +passport.socketio@3.6.2: + version "3.6.2" + resolved "https://registry.yarnpkg.com/passport.socketio/-/passport.socketio-3.6.2.tgz#7739a65efb86876cd110005367427dcdc3860100" + dependencies: + xtend "^4.0.0" + +passport@0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/passport/-/passport-0.3.2.tgz#9dd009f915e8fe095b0124a01b8f82da07510102" + dependencies: + passport-strategy "1.x.x" + pause "0.0.1" + +path-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + dependencies: + pinkie-promise "^2.0.0" + +path-is-absolute@^1.0.0, path-is-absolute@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + +path-is-inside@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + +path-key@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-1.0.0.tgz#5d53d578019646c0d68800db4e146e6bdc2ac7af" + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + +path-type@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +pause@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/pause/-/pause-0.0.1.tgz#1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d" + +pbkdf2@^3.0.3: + version "3.0.9" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.9.tgz#f2c4b25a600058b3c3773c086c37dbbee1ffe693" + dependencies: + create-hmac "^1.1.2" + +pidusage@^1.0.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/pidusage/-/pidusage-1.1.1.tgz#5a46184da84549cc03c8380e0aeb68248fd214b3" + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + +pkginfo@0.2.x, pkginfo@0.x.x: + version "0.2.3" + resolved "https://registry.yarnpkg.com/pkginfo/-/pkginfo-0.2.3.tgz#7239c42a5ef6c30b8f328439d9b9ff71042490f8" + +pkginfo@0.3.x: + version "0.3.1" + resolved "https://registry.yarnpkg.com/pkginfo/-/pkginfo-0.3.1.tgz#5b29f6a81f70717142e09e765bbeab97b4f81e21" + +pluralize@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45" + +pm2-axon-rpc@0.3.6: + version "0.3.6" + resolved "https://registry.yarnpkg.com/pm2-axon-rpc/-/pm2-axon-rpc-0.3.6.tgz#0a8931f4f6de47bf3791633cc675b0e4700f36a0" + dependencies: + commander "1.0.5" + debug "*" + json-stringify-safe "*" + +pm2-axon@~2.0.9: + version "2.0.11" + resolved "https://registry.yarnpkg.com/pm2-axon/-/pm2-axon-2.0.11.tgz#468eb9bfa157c12c701b6b298d74b06c83f356bf" + dependencies: + amp "~0.3.1" + amp-message "~0.1.1" + configurable "0.0.1" + debug "~2.2.0" + escape-regexp "0.0.1" + +pm2-deploy@0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/pm2-deploy/-/pm2-deploy-0.2.1.tgz#7c59a35fbc7a0634fe67390e0edda34eb22d00ae" + dependencies: + async "1.4.2" + tv4 "~1.0.18" + +pm2-multimeter@0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/pm2-multimeter/-/pm2-multimeter-0.1.2.tgz#1a1e55153d41a05534cea23cfe860abaa0eb4ace" + dependencies: + charm "~0.1.1" + +pm2@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/pm2/-/pm2-1.1.3.tgz#10cdc3fed782d2c0eb52ce6985597de3ade1f64f" + dependencies: + async "1.5" + chalk "1.1.1" + chokidar "~1.4.0" + cli-table "0.3.1" + coffee-script "~1.10.0" + commander "^2.9" + cron "1.1.0" + debug "2.2.0" + eventemitter2 "0.4.14" + mkdirp "0.5.1" + moment "^2.12" + nssocket "0.6.0" + pidusage "^1.0.1" + pm2-axon "~2.0.9" + pm2-axon-rpc "0.3.6" + pm2-deploy "0.2.1" + pm2-multimeter "0.1.2" + pmx "^0.6" + semver "~5.1.0" + shelljs "0.6.0" + source-map-support "0.4.0" + vizion "^0.2" + yamljs "0.2.7" + optionalDependencies: + ikt "git+http://ikt.pm2.io/ikt.git#master" + +pmx@^0.6: + version "0.6.8" + resolved "https://registry.yarnpkg.com/pmx/-/pmx-0.6.8.tgz#8f9d6db4707ea6ec7383053747510367cd1f6332" + dependencies: + debug "^2.2" + json-stringify-safe "^5.0" + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + +preserve@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + +pretty-bytes@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-1.0.4.tgz#0a22e8210609ad35542f8c8d5d2159aff0751c84" + dependencies: + get-stdin "^4.0.1" + meow "^3.1.0" + +process-nextick-args@~1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" + +process@^0.11.0: + version "0.11.9" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.9.tgz#7bd5ad21aa6253e7da8682264f1e11d11c0318c1" + +progress@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" + +prompt@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/prompt/-/prompt-1.0.0.tgz#8e57123c396ab988897fb327fd3aedc3e735e4fe" + dependencies: + colors "^1.1.2" + pkginfo "0.x.x" + read "1.0.x" + revalidator "0.1.x" + utile "0.3.x" + winston "2.1.x" + +proto-list@~1.2.1: + version "1.2.4" + resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" + +proxy-addr@~1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.1.3.tgz#dc97502f5722e888467b3fa2297a7b1ff47df074" + dependencies: + forwarded "~0.1.0" + ipaddr.js "1.2.0" + +prr@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" + +pseudomap@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + +public-encrypt@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.0.tgz#39f699f3a46560dd5ebacbca693caf7c65c18cc6" + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + +"pullstream@>= 0.4.1 < 1": + version "0.4.1" + resolved "https://registry.yarnpkg.com/pullstream/-/pullstream-0.4.1.tgz#d6fb3bf5aed697e831150eb1002c25a3f8ae1314" + dependencies: + over ">= 0.0.5 < 1" + readable-stream "~1.0.31" + setimmediate ">= 1.0.2 < 2" + slice-stream ">= 1.0.0 < 2" + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + +punycode@^1.2.4, punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + +q@^1.1.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e" + +q@~0.8.12: + version "0.8.12" + resolved "https://registry.yarnpkg.com/q/-/q-0.8.12.tgz#9162a91e11819c4bcda7da15cf5fefaad0778823" + +qs@2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/qs/-/qs-2.3.3.tgz#e9e85adbe75da0bbe4c8e0476a086290f863b404" + +qs@5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-5.2.0.tgz#a9f31142af468cb72b25b30136ba2456834916be" + +qs@6.2.0, qs@^6.1.0, qs@~6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.0.tgz#3b7848c03c2dece69a9522b0fae8c4126d745f3b" + +qs@~5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-5.1.0.tgz#4d932e5c7ea411cca76a312d39a606200fd50cd9" + +qs@~6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.0.2.tgz#88c68d590e8ed56c76c79f352c17b982466abfcd" + +qs@~6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz#f403b264f23bc01228c74131b407f18d5ea5d442" + +querystring-es3@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + +random-bytes@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/random-bytes/-/random-bytes-1.0.0.tgz#4f68a1dc0ae58bd3fb95848c30324db75d64360b" + +randomatic@^1.1.3: + version "1.1.6" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb" + dependencies: + is-number "^2.0.2" + kind-of "^3.0.2" + +randombytes@^2.0.0, randombytes@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.3.tgz#674c99760901c3c4112771a31e521dc349cc09ec" + +range-parser@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" + +raw-body@~2.1.5, raw-body@~2.1.7: + version "2.1.7" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.1.7.tgz#adfeace2e4fb3098058014d08c072dcc59758774" + dependencies: + bytes "2.4.0" + iconv-lite "0.4.13" + unpipe "1.0.0" + +raw-loader@~0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-0.5.1.tgz#0c3d0beaed8a01c966d9787bf778281252a979aa" + +rc@~1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.1.6.tgz#43651b76b6ae53b5c802f1151fa3fc3b059969c9" + dependencies: + deep-extend "~0.4.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~1.0.4" + +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + +read-pkg@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.0.0" + +read@1.0.x: + version "1.0.7" + resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" + dependencies: + mute-stream "~0.0.4" + +readable-stream@1.0.27-1: + version "1.0.27-1" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.27-1.tgz#6b67983c20357cefd07f0165001a16d710d91078" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readable-stream@1.0.31: + version "1.0.31" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.31.tgz#8f2502e0bc9e3b0da1b94520aabb4e2603ecafae" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readable-stream@1.1, readable-stream@1.1.x: + version "1.1.14" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +"readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.1.0, readable-stream@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.2.tgz#a9e6fec3c7dda85f8bb1b3ba7028604556fc825e" + dependencies: + buffer-shims "^1.0.0" + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + string_decoder "~0.10.x" + util-deprecate "~1.0.1" + +readable-stream@~1.0.0, readable-stream@~1.0.31: + version "1.0.34" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readable-stream@~2.0.5: + version "2.0.6" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + string_decoder "~0.10.x" + util-deprecate "~1.0.1" + +readable-stream@~2.1.4: + version "2.1.5" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" + dependencies: + buffer-shims "^1.0.0" + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + string_decoder "~0.10.x" + util-deprecate "~1.0.1" + +readdirp@^2.0.0, readdirp@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.0.1.tgz#672aa0c5013e7942996bbf3a392bf69aef89d5a5" + dependencies: + graceful-fs "^4.1.2" + minimatch "^3.0.2" + readable-stream "^2.0.2" + +readline2@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + mute-stream "0.0.5" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + dependencies: + resolve "^1.1.6" + +redent@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" + dependencies: + indent-string "^2.1.0" + strip-indent "^1.0.1" + +reduce-component@1.0.1, reduce-component@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/reduce-component/-/reduce-component-1.0.1.tgz#e0c93542c574521bea13df0f9488ed82ab77c5da" + +regex-cache@^0.4.2: + version "0.4.3" + resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" + dependencies: + is-equal-shallow "^0.1.3" + is-primitive "^2.0.0" + +regexp-clone@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/regexp-clone/-/regexp-clone-0.0.1.tgz#a7c2e09891fdbf38fbb10d376fb73003e68ac589" + +regexp-quote@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/regexp-quote/-/regexp-quote-0.0.0.tgz#1e0f4650c862dcbfed54fd42b148e9bb1721fcf2" + +repeat-element@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" + +repeat-string@^1.5.2: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + +repeating@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + dependencies: + is-finite "^1.0.0" + +request@2, request@2.73.0, request@^2.49.0, request@^2.61.0: + version "2.73.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.73.0.tgz#5f78a9fde4370abc8ff6479d7a84a71a14b878a2" + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + bl "~1.1.2" + caseless "~0.11.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~1.0.0-rc4" + har-validator "~2.0.6" + hawk "~3.1.3" + http-signature "~1.1.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + node-uuid "~1.4.7" + oauth-sign "~0.8.1" + qs "~6.2.0" + stringstream "~0.0.4" + tough-cookie "~2.2.0" + tunnel-agent "~0.4.1" + +request@2.69.0: + version "2.69.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.69.0.tgz#cf91d2e000752b1217155c005241911991a2346a" + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + bl "~1.0.0" + caseless "~0.11.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~1.0.0-rc3" + har-validator "~2.0.6" + hawk "~3.1.0" + http-signature "~1.1.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + node-uuid "~1.4.7" + oauth-sign "~0.8.0" + qs "~6.0.2" + stringstream "~0.0.4" + tough-cookie "~2.2.0" + tunnel-agent "~0.4.1" + +request@^2.79.0: + version "2.79.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + caseless "~0.11.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~2.1.1" + har-validator "~2.0.6" + hawk "~3.1.3" + http-signature "~1.1.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + oauth-sign "~0.8.1" + qs "~6.3.0" + stringstream "~0.0.4" + tough-cookie "~2.3.0" + tunnel-agent "~0.4.1" + uuid "^3.0.0" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + +require-main-filename@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + +require-uncached@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" + dependencies: + caller-path "^0.1.0" + resolve-from "^1.0.0" + +require_optional@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/require_optional/-/require_optional-1.0.0.tgz#52a86137a849728eb60a55533617f8f914f59abf" + dependencies: + resolve-from "^2.0.0" + semver "^5.1.0" + +requizzle@~0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/requizzle/-/requizzle-0.2.1.tgz#6943c3530c4d9a7e46f1cddd51c158fc670cdbde" + dependencies: + underscore "~1.6.0" + +resolve-from@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" + +resolve-from@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57" + +resolve@1.1.x, resolve@^1.1.6, resolve@^1.1.7, resolve@~1.1.0, resolve@~1.1.6: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + +restore-cursor@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" + dependencies: + exit-hook "^1.0.0" + onetime "^1.0.0" + +revalidator@0.1.x: + version "0.1.8" + resolved "https://registry.yarnpkg.com/revalidator/-/revalidator-0.1.8.tgz#fece61bfa0c1b52a206bd6b18198184bdd523a3b" + +right-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" + dependencies: + align-text "^0.1.1" + +rimraf@2, rimraf@2.x.x, rimraf@^2.2.8, rimraf@^2.3.4, rimraf@^2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.0.tgz#89b8a0fe432b9ff9ec9a925a00b6cdb3a91bbada" + dependencies: + glob "^7.0.5" + +rimraf@~2.2.8: + version "2.2.8" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582" + +rimraf@~2.5.1, rimraf@~2.5.4: + version "2.5.4" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" + dependencies: + glob "^7.0.5" + +ripemd160@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-1.0.1.tgz#93a4bbd4942bc574b69a8fa57c71de10ecca7d6e" + +run-async@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" + dependencies: + once "^1.3.0" + +rx-lite@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" + +sanitize-html@1.13.0: + version "1.13.0" + resolved "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-1.13.0.tgz#4ee17cbec516bfe32f2ce6686a569d7e6b4f3631" + dependencies: + htmlparser2 "^3.9.0" + regexp-quote "0.0.0" + xtend "^4.0.0" + +sass-graph@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.1.2.tgz#965104be23e8103cb7e5f710df65935b317da57b" + dependencies: + glob "^7.0.0" + lodash "^4.0.0" + yargs "^4.7.1" + +script-loader@0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/script-loader/-/script-loader-0.7.0.tgz#685dc7e7069e0dee7a92674f0ebc5b0f55baa5ec" + dependencies: + raw-loader "~0.5.1" + +secure-keys@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/secure-keys/-/secure-keys-1.0.0.tgz#f0c82d98a3b139a8776a8808050b824431087fca" + +"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@5.3.0, semver@^5.1.0, semver@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + +semver@~5.1.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.1.1.tgz#a3292a373e6f3e0798da0b20641b9a9c5bc47e19" + +send@0.14.1: + version "0.14.1" + resolved "https://registry.yarnpkg.com/send/-/send-0.14.1.tgz#a954984325392f51532a7760760e459598c89f7a" + dependencies: + debug "~2.2.0" + depd "~1.1.0" + destroy "~1.0.4" + encodeurl "~1.0.1" + escape-html "~1.0.3" + etag "~1.7.0" + fresh "0.3.0" + http-errors "~1.5.0" + mime "1.3.4" + ms "0.7.1" + on-finished "~2.3.0" + range-parser "~1.2.0" + statuses "~1.3.0" + +send@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/send/-/send-0.14.2.tgz#39b0438b3f510be5dc6f667a11f71689368cdeef" + dependencies: + debug "~2.2.0" + depd "~1.1.0" + destroy "~1.0.4" + encodeurl "~1.0.1" + escape-html "~1.0.3" + etag "~1.7.0" + fresh "0.3.0" + http-errors "~1.5.1" + mime "1.3.4" + ms "0.7.2" + on-finished "~2.3.0" + range-parser "~1.2.0" + statuses "~1.3.1" + +serve-favicon@2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/serve-favicon/-/serve-favicon-2.3.0.tgz#aed36cc6834069a6f189cc7222c6a1a811dc5b39" + dependencies: + etag "~1.7.0" + fresh "0.3.0" + ms "0.7.1" + parseurl "~1.3.0" + +serve-static@~1.11.1: + version "1.11.2" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.11.2.tgz#2cf9889bd4435a320cc36895c9aa57bd662e6ac7" + dependencies: + encodeurl "~1.0.1" + escape-html "~1.0.3" + parseurl "~1.3.1" + send "0.14.2" + +set-blocking@^2.0.0, set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + +set-immediate-shim@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" + +"setimmediate@>= 1.0.1 < 2", "setimmediate@>= 1.0.2 < 2", setimmediate@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + +setprototypeof@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.2.tgz#81a552141ec104b88e89ce383103ad5c66564d08" + +sha.js@^2.3.6: + version "2.4.8" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.8.tgz#37068c2c476b6baf402d14a49c67f597921f634f" + dependencies: + inherits "^2.0.1" + +shelljs@0.3.x: + version "0.3.0" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.3.0.tgz#3596e6307a781544f591f37da618360f31db57b1" + +shelljs@0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.6.0.tgz#ce1ed837b4b0e55b5ec3dab84251ab9dbdc0c7ec" + +shelljs@^0.7.5: + version "0.7.6" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.6.tgz#379cccfb56b91c8601e4793356eb5382924de9ad" + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + +sigmund@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" + +signal-exit@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + +slice-ansi@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" + +"slice-stream@>= 1.0.0 < 2": + version "1.0.0" + resolved "https://registry.yarnpkg.com/slice-stream/-/slice-stream-1.0.0.tgz#5b33bd66f013b1a7f86460b03d463dec39ad3ea0" + dependencies: + readable-stream "~1.0.31" + +sliced@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/sliced/-/sliced-0.0.5.tgz#5edc044ca4eb6f7816d50ba2fc63e25d8fe4707f" + +sliced@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sliced/-/sliced-1.0.1.tgz#0b3a662b5d04c3177b1926bea82b03f837a2ef41" + +slick@1.12.2: + version "1.12.2" + resolved "https://registry.yarnpkg.com/slick/-/slick-1.12.2.tgz#bd048ddb74de7d1ca6915faa4a57570b3550c2d7" + +smart-buffer@^1.0.4: + version "1.1.15" + resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-1.1.15.tgz#7f114b5b65fab3e2a35aa775bb12f0d1c649bf16" + +smtp-connection@2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/smtp-connection/-/smtp-connection-2.8.0.tgz#6649220a80dbb2c72bb0f394b8d7c0129f622105" + dependencies: + httpntlm "1.6.1" + nodemailer-shared "1.0.5" + +sntp@1.x.x: + version "1.0.9" + resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" + dependencies: + hoek "2.x.x" + +socket.io-adapter@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-0.4.0.tgz#fb9f82ab1aa65290bf72c3657955b930a991a24f" + dependencies: + debug "2.2.0" + socket.io-parser "2.2.2" + +socket.io-client@1.4.8: + version "1.4.8" + resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-1.4.8.tgz#481b241e73df140ea1a4fb03486a85ad097f5558" + dependencies: + backo2 "1.0.2" + component-bind "1.0.0" + component-emitter "1.2.0" + debug "2.2.0" + engine.io-client "1.6.11" + has-binary "0.1.7" + indexof "0.0.1" + object-component "0.0.3" + parseuri "0.0.4" + socket.io-parser "2.2.6" + to-array "0.1.4" + +socket.io-parser@2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-2.2.2.tgz#3d7af6b64497e956b7d9fe775f999716027f9417" + dependencies: + benchmark "1.0.0" + component-emitter "1.1.2" + debug "0.7.4" + isarray "0.0.1" + json3 "3.2.6" + +socket.io-parser@2.2.6: + version "2.2.6" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-2.2.6.tgz#38dfd61df50dcf8ab1d9e2091322bf902ba28b99" + dependencies: + benchmark "1.0.0" + component-emitter "1.1.2" + debug "2.2.0" + isarray "0.0.1" + json3 "3.3.2" + +socket.io@1.4.8: + version "1.4.8" + resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-1.4.8.tgz#e576f330cd0bed64e55b3fd26df991141884867b" + dependencies: + debug "2.2.0" + engine.io "1.6.11" + has-binary "0.1.7" + socket.io-adapter "0.4.0" + socket.io-client "1.4.8" + socket.io-parser "2.2.6" + +socks@1.1.9: + version "1.1.9" + resolved "https://registry.yarnpkg.com/socks/-/socks-1.1.9.tgz#628d7e4d04912435445ac0b6e459376cb3e6d691" + dependencies: + ip "^1.1.2" + smart-buffer "^1.0.4" + +source-list-map@~0.1.7: + version "0.1.8" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106" + +source-map-support@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.0.tgz#cb92292bc05455ce48691de545ac2690bb1cc976" + dependencies: + source-map "0.1.32" + +source-map@0.1.32: + version "0.1.32" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.32.tgz#c8b6c167797ba4740a8ea33252162ff08591b266" + dependencies: + amdefine ">=0.0.4" + +source-map@0.1.x: + version "0.1.43" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" + dependencies: + amdefine ">=0.0.4" + +source-map@0.4.x, source-map@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" + dependencies: + amdefine ">=0.0.4" + +source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.3: + version "0.5.6" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" + +source-map@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d" + dependencies: + amdefine ">=0.0.4" + +spdx-correct@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" + dependencies: + spdx-license-ids "^1.0.2" + +spdx-expression-parse@~1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" + +spdx-license-ids@^1.0.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" + +sprintf-js@^1.0.3, sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + +sshpk@^1.7.0: + version "1.10.2" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.10.2.tgz#d5a804ce22695515638e798dbe23273de070a5fa" + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + dashdash "^1.12.0" + getpass "^0.1.1" + optionalDependencies: + bcrypt-pbkdf "^1.0.0" + ecc-jsbn "~0.1.1" + jodid25519 "^1.0.0" + jsbn "~0.1.0" + tweetnacl "~0.14.0" + +stack-trace@0.0.9, stack-trace@0.0.x: + version "0.0.9" + resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.9.tgz#a8f6eaeca90674c333e7c43953f275b451510695" + +statuses@1, "statuses@>= 1.3.1 < 2", statuses@~1.3.0, statuses@~1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" + +stream-browserify@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" + dependencies: + inherits "~2.0.1" + readable-stream "^2.0.2" + +stream-http@^2.3.1: + version "2.6.3" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.6.3.tgz#4c3ddbf9635968ea2cfd4e48d43de5def2625ac3" + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.1" + readable-stream "^2.1.0" + to-arraybuffer "^1.0.0" + xtend "^4.0.0" + +streamsearch@0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-0.1.2.tgz#808b9d0e56fc273d809ba57338e929919a1a9f1a" + +string-extended@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/string-extended/-/string-extended-0.0.8.tgz#741957dff487b0272a79eec5a44f239ee6f17ccd" + dependencies: + array-extended "~0.0.5" + date-extended "~0.0.3" + extended "~0.0.3" + is-extended "~0.0.3" + +string-width@^1.0.1, string-width@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +string-width@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.0.0.tgz#635c5436cc72a6e0c387ceca278d4e2eec52687e" + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^3.0.0" + +string_decoder@^0.10.25, string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + +stringstream@~0.0.4: + version "0.0.5" + resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991" + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + dependencies: + is-utf8 "^0.2.0" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + +strip-indent@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" + dependencies: + get-stdin "^4.0.1" + +strip-json-comments@1.0.4, strip-json-comments@1.0.x, strip-json-comments@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + +sum-up@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sum-up/-/sum-up-1.0.3.tgz#1c661f667057f63bcb7875aa1438bc162525156e" + dependencies: + chalk "^1.0.0" + +superagent@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/superagent/-/superagent-2.0.0.tgz#499820f0b6e4dd350a21cd566b5c81571e4c7584" + dependencies: + component-emitter "^1.2.0" + cookiejar "^2.0.6" + debug "^2.2.0" + extend "^3.0.0" + form-data "1.0.0-rc4" + formidable "^1.0.17" + methods "^1.1.1" + mime "^1.3.4" + qs "^6.1.0" + readable-stream "^2.0.5" + reduce-component "^1.0.1" + +superagent@^1.7.2: + version "1.8.5" + resolved "https://registry.yarnpkg.com/superagent/-/superagent-1.8.5.tgz#1c0ddc3af30e80eb84ebc05cb2122da8fe940b55" + dependencies: + component-emitter "~1.2.0" + cookiejar "2.0.6" + debug "2" + extend "3.0.0" + form-data "1.0.0-rc3" + formidable "~1.0.14" + methods "~1.1.1" + mime "1.3.4" + qs "2.3.3" + readable-stream "1.0.27-1" + reduce-component "1.0.1" + +supertest@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/supertest/-/supertest-1.2.0.tgz#850a795f9068d2faf19e01799ff09962e0ce43be" + dependencies: + methods "1.x" + superagent "^1.7.2" + +supports-color@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-1.2.0.tgz#ff1ed1e61169d06b3cf2d588e188b18d8847e17e" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + +supports-color@^3.1.0: + version "3.2.3" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" + dependencies: + has-flag "^1.0.0" + +table@^3.7.8: + version "3.8.3" + resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" + dependencies: + ajv "^4.7.0" + ajv-keywords "^1.0.0" + chalk "^1.1.1" + lodash "^4.0.0" + slice-ansi "0.0.4" + string-width "^2.0.0" + +taffydb@2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/taffydb/-/taffydb-2.6.2.tgz#7cbcb64b5a141b6a2efc2c5d2c67b4e150b2a268" + +tapable@^0.2.5, tapable@~0.2.5: + version "0.2.6" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.6.tgz#206be8e188860b514425375e6f1ae89bfb01fd8d" + +tar-pack@~3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.3.0.tgz#30931816418f55afc4d21775afdd6720cee45dae" + dependencies: + debug "~2.2.0" + fstream "~1.0.10" + fstream-ignore "~1.0.5" + once "~1.3.3" + readable-stream "~2.1.4" + rimraf "~2.5.1" + tar "~2.2.1" + uid-number "~0.0.6" + +tar@^2.0.0, tar@^2.2.1, tar@~2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" + dependencies: + block-stream "*" + fstream "^1.0.2" + inherits "2" + +templayed@*: + version "0.2.3" + resolved "https://registry.yarnpkg.com/templayed/-/templayed-0.2.3.tgz#4706df625bc6aecd86b7c9f6b0fb548b95cdf769" + +text-table@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + +thirty-two@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/thirty-two/-/thirty-two-1.0.2.tgz#4ca2fffc02a51290d2744b9e3f557693ca6b627a" + +through@^2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + +timers-browserify@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.2.tgz#ab4883cf597dcd50af211349a00fbca56ac86b86" + dependencies: + setimmediate "^1.0.4" + +timers-ext@0.1: + version "0.1.0" + resolved "https://registry.yarnpkg.com/timers-ext/-/timers-ext-0.1.0.tgz#00345a2ca93089d1251322054389d263e27b77e2" + dependencies: + es5-ext "~0.10.2" + next-tick "~0.2.2" + +tiny-lr@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/tiny-lr/-/tiny-lr-0.2.1.tgz#b3fdba802e5d56a33c2f6f10794b32e477ac729d" + dependencies: + body-parser "~1.14.0" + debug "~2.2.0" + faye-websocket "~0.10.0" + livereload-js "^2.2.0" + parseurl "~1.3.0" + qs "~5.1.0" + +to-array@0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890" + +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + +to-iso-string@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/to-iso-string/-/to-iso-string-0.0.2.tgz#4dc19e664dfccbe25bd8db508b00c6da158255d1" + +tough-cookie@~2.2.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.2.2.tgz#c83a1830f4e5ef0b93ef2a3488e724f8de016ac7" + +tough-cookie@~2.3.0: + version "2.3.2" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" + dependencies: + punycode "^1.4.1" + +"traverse@>=0.3.0 <0.4": + version "0.3.9" + resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9" + +trim-newlines@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" + +tryit@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb" + +tty-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + +tunnel-agent@~0.4.1: + version "0.4.3" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" + +tv4@~1.0.18: + version "1.0.18" + resolved "https://registry.yarnpkg.com/tv4/-/tv4-1.0.18.tgz#7397769f00358e33bf528dc5c8764c61b6de8245" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + dependencies: + prelude-ls "~1.1.2" + +type-detect@0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-0.1.1.tgz#0ba5ec2a885640e470ea4e8505971900dac58822" + +type-detect@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-1.0.0.tgz#762217cc06db258ec48908a1298e8b95121e8ea2" + +type-is@~1.6.10, type-is@~1.6.13: + version "1.6.14" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.14.tgz#e219639c17ded1ca0789092dd54a03826b817cb2" + dependencies: + media-typer "0.3.0" + mime-types "~2.1.13" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + +uc.micro@^1.0.1, uc.micro@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.3.tgz#7ed50d5e0f9a9fb0a573379259f2a77458d50192" + +uglify-js@2.7.0, uglify-js@^2.6: + version "2.7.0" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.0.tgz#f021e38ba2ca740860f5bd5c695c2a817345f0ec" + dependencies: + async "~0.2.6" + source-map "~0.5.1" + uglify-to-browserify "~1.0.0" + yargs "~3.10.0" + +uglify-js@^2.4.1, uglify-js@^2.7.5: + version "2.7.5" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.5.tgz#4612c0c7baaee2ba7c487de4904ae122079f2ca8" + dependencies: + async "~0.2.6" + source-map "~0.5.1" + uglify-to-browserify "~1.0.0" + yargs "~3.10.0" + +uglify-js@~2.6.2: + version "2.6.4" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.6.4.tgz#65ea2fb3059c9394692f15fed87c2b36c16b9adf" + dependencies: + async "~0.2.6" + source-map "~0.5.1" + uglify-to-browserify "~1.0.0" + yargs "~3.10.0" + +uglify-to-browserify@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" + +uid-number@~0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" + +uid-safe@~2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/uid-safe/-/uid-safe-2.1.3.tgz#077e264a00b3187936b270bb7376a26473631071" + dependencies: + base64-url "1.3.3" + random-bytes "~1.0.0" + +ultron@1.0.x: + version "1.0.2" + resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa" + +underscore-contrib@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/underscore-contrib/-/underscore-contrib-0.3.0.tgz#665b66c24783f8fa2b18c9f8cbb0e2c7d48c26c7" + dependencies: + underscore "1.6.0" + +underscore.string@3.3.4: + version "3.3.4" + resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-3.3.4.tgz#2c2a3f9f83e64762fdc45e6ceac65142864213db" + dependencies: + sprintf-js "^1.0.3" + util-deprecate "^1.0.2" + +underscore.string@~2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-2.4.0.tgz#8cdd8fbac4e2d2ea1e7e2e8097c42f442280f85b" + +underscore.string@~3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-3.2.3.tgz#806992633665d5e5fcb4db1fb3a862eb68e9e6da" + +underscore@1.6.0, underscore@~1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.6.0.tgz#8b38b10cacdef63337b8b24e4ff86d45aea529a8" + +underscore@1.8.3, underscore@~1.8.3: + version "1.8.3" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.8.3.tgz#4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022" + +underscore@~1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.7.0.tgz#6bbaf0877500d36be34ecaa584e0db9fef035209" + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + +unzip@0.1.11: + version "0.1.11" + resolved "https://registry.yarnpkg.com/unzip/-/unzip-0.1.11.tgz#89749c63b058d7d90d619f86b98aa1535d3b97f0" + dependencies: + binary ">= 0.3.0 < 1" + fstream ">= 0.1.30 < 1" + match-stream ">= 0.0.2 < 1" + pullstream ">= 0.4.1 < 1" + readable-stream "~1.0.31" + setimmediate ">= 1.0.1 < 2" + +uri-path@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/uri-path/-/uri-path-1.0.0.tgz#9747f018358933c31de0fccfd82d138e67262e32" + +url@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +user-home@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" + dependencies: + os-homedir "^1.0.0" + +utf7@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/utf7/-/utf7-1.0.0.tgz#70c895de9d85b8ee7ef5a1fa8e169241c46e72cc" + +utf8@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/utf8/-/utf8-2.1.0.tgz#0cfec5c8052d44a23e3aaa908104e8075f95dfd5" + +util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + +util@0.10.3, util@^0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + dependencies: + inherits "2.0.1" + +utile@0.3.x: + version "0.3.0" + resolved "https://registry.yarnpkg.com/utile/-/utile-0.3.0.tgz#1352c340eb820e4d8ddba039a4fbfaa32ed4ef3a" + dependencies: + async "~0.9.0" + deep-equal "~0.2.1" + i "0.3.x" + mkdirp "0.x.x" + ncp "1.0.x" + rimraf "2.x.x" + +utils-merge@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8" + +uue@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/uue/-/uue-3.1.0.tgz#5d67d37030e66efebbb4b8aac46daf9b55befbf6" + dependencies: + extend "~3.0.0" + +uuid@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" + +validate-npm-package-license@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" + dependencies: + spdx-correct "~1.0.0" + spdx-expression-parse "~1.0.0" + +vary@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.0.tgz#e1e5affbbd16ae768dd2674394b9ad3022653140" + +verror@1.3.6: + version "1.3.6" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c" + dependencies: + extsprintf "1.0.2" + +vizion@^0.2: + version "0.2.13" + resolved "https://registry.yarnpkg.com/vizion/-/vizion-0.2.13.tgz#1314cdee2b34116f9f5b1248536f95dbfcd6ef5f" + dependencies: + async "1.5" + +vm-browserify@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" + dependencies: + indexof "0.0.1" + +watchpack@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.2.0.tgz#15d4620f1e7471f13fcb551d5c030d2c3eb42dbb" + dependencies: + async "^2.1.2" + chokidar "^1.4.3" + graceful-fs "^4.1.2" + +web-resource-inliner@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/web-resource-inliner/-/web-resource-inliner-1.2.1.tgz#c02332ad985ed00da4c2310c0699fb2e5ba9675f" + dependencies: + async "^0.9.0" + clean-css "1.1.7" + cli-color "^0.3.2" + datauri "~0.2.0" + lodash "^3.10.1" + request "^2.49.0" + uglify-js "^2.4.1" + xtend "^4.0.0" + +webpack-node-externals@1.5.4: + version "1.5.4" + resolved "https://registry.yarnpkg.com/webpack-node-externals/-/webpack-node-externals-1.5.4.tgz#ea05ba17108a23e776c35c42e7bb0e86c225be00" + +webpack-sources@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.1.4.tgz#ccc2c817e08e5fa393239412690bb481821393cd" + dependencies: + source-list-map "~0.1.7" + source-map "~0.5.3" + +webpack@2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.2.1.tgz#7bb1d72ae2087dd1a4af526afec15eed17dda475" + dependencies: + acorn "^4.0.4" + acorn-dynamic-import "^2.0.0" + ajv "^4.7.0" + ajv-keywords "^1.1.1" + async "^2.1.2" + enhanced-resolve "^3.0.0" + interpret "^1.0.0" + json-loader "^0.5.4" + loader-runner "^2.3.0" + loader-utils "^0.2.16" + memory-fs "~0.4.1" + mkdirp "~0.5.0" + node-libs-browser "^2.0.0" + source-map "^0.5.3" + supports-color "^3.1.0" + tapable "~0.2.5" + uglify-js "^2.7.5" + watchpack "^1.2.0" + webpack-sources "^0.1.4" + yargs "^6.0.0" + +websocket-driver@>=0.5.1: + version "0.6.5" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.6.5.tgz#5cb2556ceb85f4373c6d8238aa691c8454e13a36" + dependencies: + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.1.tgz#76899499c184b6ef754377c2dbb0cd6cb55d29e7" + +which-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" + +which@1, which@^1.1.1, which@^1.2.8, which@^1.2.9, which@~1.2.1: + version "1.2.12" + resolved "https://registry.yarnpkg.com/which/-/which-1.2.12.tgz#de67b5e450269f194909ef23ece4ebe416fa1192" + dependencies: + isexe "^1.1.1" + +wide-align@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.0.tgz#40edde802a71fea1f070da3e62dcda2e7add96ad" + dependencies: + string-width "^1.0.1" + +window-size@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" + +window-size@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876" + +window-size@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075" + +winston@2.1.x: + version "2.1.1" + resolved "https://registry.yarnpkg.com/winston/-/winston-2.1.1.tgz#3c9349d196207fd1bdff9d4bc43ef72510e3a12e" + dependencies: + async "~1.0.0" + colors "1.0.x" + cycle "1.0.x" + eyes "0.1.x" + isstream "0.1.x" + pkginfo "0.3.x" + stack-trace "0.0.x" + +winston@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/winston/-/winston-2.2.0.tgz#2c853dd87ab552a8e8485d72cbbf9a2286f029b7" + dependencies: + async "~1.0.0" + colors "1.0.x" + cycle "1.0.x" + eyes "0.1.x" + isstream "0.1.x" + pkginfo "0.3.x" + stack-trace "0.0.x" + +winston@~2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/winston/-/winston-2.3.1.tgz#0b48420d978c01804cf0230b648861598225a119" + dependencies: + async "~1.0.0" + colors "1.0.x" + cycle "1.0.x" + eyes "0.1.x" + isstream "0.1.x" + stack-trace "0.0.x" + +wordwrap@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" + +wordwrap@^1.0.0, wordwrap@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + +wordwrap@~0.0.2: + version "0.0.3" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" + +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + +write@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" + dependencies: + mkdirp "^0.5.1" + +ws@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-1.0.1.tgz#7d0b2a2e58cddd819039c29c9de65045e1b310e9" + dependencies: + options ">=0.0.5" + ultron "1.0.x" + +ws@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.0.tgz#c1d6fd1515d3ceff1f0ae2759bf5fd77030aad1d" + dependencies: + options ">=0.0.5" + ultron "1.0.x" + +xml@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/xml/-/xml-1.0.0.tgz#de3ee912477be2f250b60f612f34a8c4da616efe" + +xmlhttprequest-ssl@1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.1.tgz#3b7741fea4a86675976e908d296d4445961faa67" + +xtend@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + +y18n@^3.2.0, y18n@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" + +yallist@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.0.0.tgz#306c543835f09ee1a4cb23b7bce9ab341c91cdd4" + +yamljs@0.2.7: + version "0.2.7" + resolved "https://registry.yarnpkg.com/yamljs/-/yamljs-0.2.7.tgz#84c7e20c790e3dbc711697fef8115b628584ad0c" + dependencies: + argparse "^0.1.15" + glob "^4.0.0" + +yargs-parser@^2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-2.4.1.tgz#85568de3cf150ff49fa51825f03a8c880ddcc5c4" + dependencies: + camelcase "^3.0.0" + lodash.assign "^4.0.6" + +yargs-parser@^4.2.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c" + dependencies: + camelcase "^3.0.0" + +yargs@^3.19.0: + version "3.32.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.32.0.tgz#03088e9ebf9e756b69751611d2a5ef591482c995" + dependencies: + camelcase "^2.0.1" + cliui "^3.0.3" + decamelize "^1.1.1" + os-locale "^1.4.0" + string-width "^1.0.1" + window-size "^0.1.4" + y18n "^3.2.0" + +yargs@^4.7.1: + version "4.8.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-4.8.1.tgz#c0c42924ca4aaa6b0e6da1739dfb216439f9ddc0" + dependencies: + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + lodash.assign "^4.0.3" + os-locale "^1.4.0" + read-pkg-up "^1.0.1" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^1.0.1" + which-module "^1.0.0" + window-size "^0.2.0" + y18n "^3.2.1" + yargs-parser "^2.4.1" + +yargs@^6.0.0: + version "6.6.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" + dependencies: + camelcase "^3.0.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^1.4.0" + read-pkg-up "^1.0.1" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^1.0.2" + which-module "^1.0.0" + y18n "^3.2.1" + yargs-parser "^4.2.0" + +yargs@~3.10.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" + dependencies: + camelcase "^1.0.2" + cliui "^2.1.0" + decamelize "^1.0.0" + window-size "0.1.0" + +yeast@0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419"