Nokia: Putting in support for metro network services within XOS for E-CORD
Change-Id: I9277ccf808479dd593ee1b7b640a2247a5b28a39
diff --git a/views/ngXosViews/ecordTopology/.bowerrc b/views/ngXosViews/ecordTopology/.bowerrc
new file mode 100644
index 0000000..e491038
--- /dev/null
+++ b/views/ngXosViews/ecordTopology/.bowerrc
@@ -0,0 +1,3 @@
+{
+ "directory": "src/vendor/"
+}
\ No newline at end of file
diff --git a/views/ngXosViews/ecordTopology/.eslintrc b/views/ngXosViews/ecordTopology/.eslintrc
new file mode 100644
index 0000000..c852748
--- /dev/null
+++ b/views/ngXosViews/ecordTopology/.eslintrc
@@ -0,0 +1,42 @@
+{
+ "ecmaFeatures": {
+ "blockBindings": true,
+ "forOf": true,
+ "destructuring": true,
+ "arrowFunctions": true,
+ "templateStrings": true
+ },
+ "env": {
+ "browser": true,
+ "node": true,
+ "es6": true
+ },
+ "plugins": [
+ //"angular"
+ ],
+ "rules": {
+ "quotes": [2, "single"],
+ "camelcase": [1, {"properties": "always"}],
+ "no-underscore-dangle": 1,
+ "eqeqeq": [2, "smart"],
+ "no-alert": 1,
+ "key-spacing": [1, { "beforeColon": false, "afterColon": true }],
+ "indent": [2, 2],
+ "no-irregular-whitespace": 1,
+ "eol-last": 0,
+ "max-nested-callbacks": [2, 4],
+ "comma-spacing": [1, {"before": false, "after": true}],
+ "no-trailing-spaces": [1, { skipBlankLines: true }],
+ "no-unused-vars": [1, {"vars": "all", "args": "after-used"}],
+ "new-cap": 0,
+
+ //"angular/ng_module_name": [2, '/^xos\.*[a-z]*$/'],
+ //"angular/ng_controller_name": [2, '/^[a-z].*Ctrl$/'],
+ //"angular/ng_service_name": [2, '/^[A-Z].*Service$/'],
+ //"angular/ng_directive_name": [2, '/^[a-z]+[[A-Z].*]*$/'],
+ //"angular/ng_di": [0, "function or array"]
+ },
+ "globals" :{
+ "angular": true
+ }
+}
\ No newline at end of file
diff --git a/views/ngXosViews/ecordTopology/.gitignore b/views/ngXosViews/ecordTopology/.gitignore
new file mode 100644
index 0000000..567aee4
--- /dev/null
+++ b/views/ngXosViews/ecordTopology/.gitignore
@@ -0,0 +1,6 @@
+dist/
+src/vendor
+.tmp
+node_modules
+npm-debug.log
+dist/
\ No newline at end of file
diff --git a/views/ngXosViews/ecordTopology/README.md b/views/ngXosViews/ecordTopology/README.md
new file mode 100644
index 0000000..04b5188
--- /dev/null
+++ b/views/ngXosViews/ecordTopology/README.md
@@ -0,0 +1,48 @@
+# M-CORD UI
+
+## Requirements
+
+To run this UI is required to have installd:
+- NodeJs > v4
+- Bower
+
+## Mock Server
+
+A server that mock the response, used for development, is available and can be started with `npm run server`
+
+## Application setup
+
+This development environment require to be executed from inside the `xos` repo. The correct location for this folder is `/views/ngXosViews`.
+An `environment` configuration should also be present under `/views/env` and should contain a `default.js` file (to connect to XOS) and a `local.js` file (to connect to the mock server).
+
+The content of the `local.js` should be (to work with the provided server):
+```
+module.exports = {
+ host: 'http://localhost:4000/'
+};
+```
+
+While the `default.js` file should look like (please updated your values, refer to https://www.youtube.com/watch?v=iEp9F7JYPO8 for more information):
+```
+module.exports = {
+ host: 'http://127.0.0.1:9999/', // XOS Url
+ xoscsrftoken: 'jJRuH4YNK69qYV4Jks3dPCNrYDKFMtyL', // XOS token
+ xossessionid: 'jbsvkfjlcqtroxhxgz53oyvnd3348a03' // XOS session id
+};
+```
+
+## Start the application
+
+### To use the mock server
+
+From the root of this application (`/views/ngXosViews/ecordTopology`):
+- execute: `NODE_ENV=local npm start`
+- In another shell `npm run server`
+
+### To connect to your running XOS instance
+
+From the root of this application (`/views/ngXosViews/ecordTopology`) execute `npm start` (make sure that token and sessionId in the `default.js` config file are correct).
+
+## Build the App
+
+Once everything is working you can execute `npm run build` that will copy the files in the correct location and then you can load the dashboard in the UI (refer again to the tutorial).
diff --git a/views/ngXosViews/ecordTopology/bower.json b/views/ngXosViews/ecordTopology/bower.json
new file mode 100644
index 0000000..8466b09
--- /dev/null
+++ b/views/ngXosViews/ecordTopology/bower.json
@@ -0,0 +1,42 @@
+{
+ "name": "xos-ecordTopology",
+ "version": "0.0.0",
+ "authors": [
+ "Matteo Scandolo <matteo.scandolo@gmail.com>"
+ ],
+ "description": "The ecordTopology view",
+ "license": "MIT",
+ "ignore": [
+ "**/.*",
+ "node_modules",
+ "bower_components",
+ "static/js/vendor/",
+ "test",
+ "tests"
+ ],
+ "dependencies": {
+ "angular-bootstrap-checkbox": "~0.4.0",
+ "topojson.v1.min": "http://d3js.org/topojson.v1.min.js"
+ },
+ "devDependencies": {
+ "jquery": "2.1.4",
+ "angular-mocks": "1.4.7",
+ "angular": "1.4.7",
+ "angular-ui-router": "0.2.15",
+ "angular-cookies": "1.4.7",
+ "angular-animate": "1.4.7",
+ "angular-resource": "1.4.7",
+ "lodash": "~4.11.1",
+ "bootstrap-css": "3.3.6",
+ "angular-chart.js": "~0.10.2",
+ "d3": "~3.5.17",
+ "angular-recursion": "~1.0.5"
+ },
+ "overrides": {
+ "topojson.v1.min": {
+ "main": [
+ "index.js"
+ ]
+ }
+ }
+}
diff --git a/views/ngXosViews/ecordTopology/gulp/build.js b/views/ngXosViews/ecordTopology/gulp/build.js
new file mode 100644
index 0000000..e4ad0d6
--- /dev/null
+++ b/views/ngXosViews/ecordTopology/gulp/build.js
@@ -0,0 +1,164 @@
+'use strict';
+
+// BUILD
+//
+// The only purpose of this gulpfile is to build a XOS view and copy the correct files into
+// .html => dashboards
+// .js (minified and concat) => static/js
+//
+// The template are parsed and added to js with angular $templateCache
+
+var gulp = require('gulp');
+var ngAnnotate = require('gulp-ng-annotate');
+var uglify = require('gulp-uglify');
+var templateCache = require('gulp-angular-templatecache');
+var runSequence = require('run-sequence');
+var concat = require('gulp-concat-util');
+var del = require('del');
+var wiredep = require('wiredep');
+var angularFilesort = require('gulp-angular-filesort');
+var _ = require('lodash');
+var eslint = require('gulp-eslint');
+var inject = require('gulp-inject');
+var rename = require('gulp-rename');
+var replace = require('gulp-replace');
+var postcss = require('gulp-postcss');
+var autoprefixer = require('autoprefixer');
+var mqpacker = require('css-mqpacker');
+var csswring = require('csswring');
+
+const TEMPLATE_FOOTER = `
+angular.module('xos.ecordTopology')
+.run(['$location', function(a){
+ a.path('/');
+}])
+`
+
+module.exports = function(options){
+
+ // delete previous builded file
+ gulp.task('clean', function(){
+ return del(
+ [
+ options.dashboards + 'xosEcordTopology.html',
+ options.static + 'css/xosEcordTopology.css'
+ ],
+ {force: true}
+ );
+ });
+
+ // minify css
+ gulp.task('css', function () {
+ var processors = [
+ autoprefixer({browsers: ['last 1 version']}),
+ mqpacker,
+ csswring
+ ];
+
+ gulp.src([
+ `${options.css}**/*.css`,
+ `!${options.css}dev.css`
+ ])
+ .pipe(postcss(processors))
+ .pipe(gulp.dest(options.tmp + '/css/'));
+ });
+
+ // copy css in correct folder
+ gulp.task('copyCss', ['wait'], function(){
+ return gulp.src([`${options.tmp}/css/*.css`])
+ .pipe(concat('xosEcordTopology.css'))
+ .pipe(gulp.dest(options.static + 'css/'))
+ });
+
+ // compile and minify scripts
+ gulp.task('scripts', function() {
+ return gulp.src([
+ options.tmp + '**/*.js'
+ ])
+ .pipe(ngAnnotate())
+ .pipe(angularFilesort())
+ .pipe(concat('xosEcordTopology.js'))
+ .pipe(concat.header('//Autogenerated, do not edit!!!\n'))
+ .pipe(concat.footer(TEMPLATE_FOOTER))
+ .pipe(uglify())
+ .pipe(gulp.dest(options.static + 'js/'));
+ });
+
+ // set templates in cache
+ gulp.task('templates', function(){
+ return gulp.src('./src/templates/*.html')
+ .pipe(templateCache({
+ module: 'xos.ecordTopology',
+ root: 'templates/'
+ }))
+ .pipe(gulp.dest(options.tmp));
+ });
+
+ // copy html index to Django Folder
+ gulp.task('copyHtml', function(){
+ return gulp.src(options.src + 'index.html')
+ // remove dev dependencies from html
+ .pipe(replace(/<!-- bower:css -->(\n^<link.*)*\n<!-- endbower -->/gmi, ''))
+ .pipe(replace(/<!-- bower:js -->(\n^<script.*)*\n<!-- endbower -->/gmi, ''))
+ // injecting minified files
+ .pipe(
+ inject(
+ gulp.src([
+ options.static + 'js/vendor/xosEcordTopologyVendor.js',
+ options.static + 'js/xosEcordTopology.js',
+ options.static + 'css/xosEcordTopology.css'
+ ]),
+ {ignorePath: '/../../../xos/core/xoslib'}
+ )
+ )
+ .pipe(rename('xosEcordTopology.html'))
+ .pipe(gulp.dest(options.dashboards));
+ });
+
+ // minify vendor js files
+ gulp.task('wiredep', function(){
+ var bowerDeps = wiredep().js;
+ if(!bowerDeps){
+ return;
+ }
+
+ // remove angular (it's already loaded)
+ _.remove(bowerDeps, function(dep){
+ return dep.indexOf('angular/angular.js') !== -1;
+ });
+
+ return gulp.src(bowerDeps)
+ .pipe(concat('xosEcordTopologyVendor.js'))
+ .pipe(uglify())
+ .pipe(gulp.dest(options.static + 'js/vendor/'));
+ });
+
+ gulp.task('lint', function () {
+ return gulp.src(['src/js/**/*.js'])
+ .pipe(eslint())
+ .pipe(eslint.format())
+ .pipe(eslint.failAfterError());
+ });
+
+ gulp.task('wait', function (cb) {
+ // setTimeout could be any async task
+ setTimeout(function () {
+ cb();
+ }, 1000);
+ });
+
+ gulp.task('build', function() {
+ runSequence(
+ 'clean',
+ 'sass',
+ 'templates',
+ 'babel',
+ 'scripts',
+ 'wiredep',
+ 'css',
+ 'copyCss',
+ 'copyHtml',
+ 'cleanTmp'
+ );
+ });
+};
\ No newline at end of file
diff --git a/views/ngXosViews/ecordTopology/gulp/server.js b/views/ngXosViews/ecordTopology/gulp/server.js
new file mode 100644
index 0000000..d386289
--- /dev/null
+++ b/views/ngXosViews/ecordTopology/gulp/server.js
@@ -0,0 +1,172 @@
+'use strict';
+
+var gulp = require('gulp');
+var browserSync = require('browser-sync').create();
+var inject = require('gulp-inject');
+var runSequence = require('run-sequence');
+var angularFilesort = require('gulp-angular-filesort');
+var babel = require('gulp-babel');
+var wiredep = require('wiredep').stream;
+var httpProxy = require('http-proxy');
+var del = require('del');
+var sass = require('gulp-sass');
+var fs = require('fs');
+var path = require('path');
+
+const environment = process.env.NODE_ENV;
+
+if(!fs.existsSync(path.join(__dirname, `../../../env/${environment || 'default'}.js`))){
+ if(!environment){
+ throw new Error('You should define a default.js config in /views/env folder.');
+ }
+ else{
+ throw new Error(`Since you are loading a custom environment, you should define a ${environment}.js config in /views/env folder.`);
+ }
+}
+
+var conf = require(path.join(__dirname, `../../../env/${environment || 'default'}.js`));
+
+var proxy = httpProxy.createProxyServer({
+ target: conf.host
+});
+
+
+proxy.on('error', function(error, req, res) {
+ res.writeHead(500, {
+ 'Content-Type': 'text/plain'
+ });
+
+ console.error('[Proxy]', error);
+});
+
+module.exports = function(options){
+
+ gulp.task('browser', function() {
+ browserSync.init({
+ startPath: '#/',
+ snippetOptions: {
+ rule: {
+ match: /<!-- browserSync -->/i
+ }
+ },
+ server: {
+ baseDir: options.src,
+ routes: {
+ '/xos/core/xoslib/static/js/vendor': options.helpers,
+ '/xos/core/static': options.static + '../../static/'
+ },
+ middleware: function(req, res, next){
+ if(
+ req.url.indexOf('/api/') !== -1 ||
+ req.url.indexOf('/onos/') !== -1
+ ){
+ if(conf.xoscsrftoken && conf.xossessionid){
+ req.headers.cookie = `xoscsrftoken=${conf.xoscsrftoken}; xossessionid=${conf.xossessionid}`;
+ req.headers['x-csrftoken'] = conf.xoscsrftoken;
+ req.headers['Authorization'] = "Basic cGFkbWluQHZpY2NpLm9yZzpsZXRtZWlu";
+ }
+ proxy.web(req, res);
+ }
+ else{
+ next();
+ }
+ }
+ }
+ });
+
+ gulp.watch(options.src + 'js/**/*.js', ['js-watch']);
+ gulp.watch(options.src + 'vendor/**/*.js', ['bower'], function(){
+ browserSync.reload();
+ });
+ gulp.watch(options.src + '**/*.html', function(){
+ browserSync.reload();
+ });
+ gulp.watch(options.css + '**/*.css', function(){
+ browserSync.reload();
+ });
+ gulp.watch(`${options.sass}/**/*.scss`, ['sass'], function(){
+ browserSync.reload();
+ });
+
+ gulp.watch([
+ options.helpers + 'ngXosHelpers.js',
+ options.static + '../../static/xosNgLib.css'
+ ], function(){
+ browserSync.reload();
+ });
+ });
+
+ // compile sass
+ gulp.task('sass', function () {
+ return gulp.src(`${options.sass}/**/*.scss`)
+ .pipe(sass().on('error', sass.logError))
+ .pipe(gulp.dest(options.css));
+ });
+
+ // transpile js with sourceMaps
+ gulp.task('babel', function(){
+ return gulp.src(options.scripts + '**/*.js')
+ .pipe(babel({sourceMaps: true}))
+ .pipe(gulp.dest(options.tmp));
+ });
+
+ // inject scripts
+ gulp.task('injectScript', ['cleanTmp', 'babel'], function(){
+ return gulp.src(options.src + 'index.html')
+ .pipe(
+ inject(
+ gulp.src([
+ options.tmp + '**/*.js',
+ options.helpers + 'ngXosHelpers.js'
+ ])
+ .pipe(angularFilesort()),
+ {
+ ignorePath: [options.src, '/../../ngXosLib']
+ }
+ )
+ )
+ .pipe(gulp.dest(options.src));
+ });
+
+ // inject CSS
+ gulp.task('injectCss', function(){
+ return gulp.src(options.src + 'index.html')
+ .pipe(
+ inject(
+ gulp.src([
+ options.src + 'css/*.css',
+ options.static + '../../static/xosNgLib.css'
+ ]),
+ {
+ ignorePath: [options.src]
+ }
+ )
+ )
+ .pipe(gulp.dest(options.src));
+ });
+
+ // inject bower dependencies with wiredep
+ gulp.task('bower', function () {
+ return gulp.src(options.src + 'index.html')
+ .pipe(wiredep({devDependencies: true}))
+ .pipe(gulp.dest(options.src));
+ });
+
+ gulp.task('js-watch', ['injectScript'], function(){
+ browserSync.reload();
+ });
+
+ gulp.task('cleanTmp', function(){
+ return del([options.tmp + '**/*']);
+ });
+
+ gulp.task('serve', function() {
+ runSequence(
+ 'sass',
+ 'bower',
+ 'injectScript',
+ 'injectCss',
+ ['browser']
+ );
+ });
+};
diff --git a/views/ngXosViews/ecordTopology/gulpfile.js b/views/ngXosViews/ecordTopology/gulpfile.js
new file mode 100644
index 0000000..08df554
--- /dev/null
+++ b/views/ngXosViews/ecordTopology/gulpfile.js
@@ -0,0 +1,26 @@
+'use strict';
+
+var gulp = require('gulp');
+var wrench = require('wrench');
+
+var options = {
+ src: 'src/',
+ css: 'src/css/',
+ sass: 'src/sass/',
+ scripts: 'src/js/',
+ tmp: 'src/.tmp',
+ dist: 'dist/',
+ api: '../../ngXosLib/api/',
+ helpers: '../../../xos/core/xoslib/static/js/vendor/',
+ static: '../../../xos/core/xoslib/static/', // this is the django static folder
+ dashboards: '../../../xos/core/xoslib/dashboards/' // this is the django html folder
+};
+
+wrench.readdirSyncRecursive('./gulp')
+.map(function(file) {
+ require('./gulp/' + file)(options);
+});
+
+gulp.task('default', function () {
+ gulp.start('build');
+});
diff --git a/views/ngXosViews/ecordTopology/karma.conf.js b/views/ngXosViews/ecordTopology/karma.conf.js
new file mode 100644
index 0000000..4123be9
--- /dev/null
+++ b/views/ngXosViews/ecordTopology/karma.conf.js
@@ -0,0 +1,88 @@
+// Karma configuration
+// Generated on Tue Oct 06 2015 09:27:10 GMT+0000 (UTC)
+
+/* eslint indent: [2,2], quotes: [2, "single"]*/
+
+/*eslint-disable*/
+var wiredep = require('wiredep');
+var path = require('path');
+
+var bowerComponents = wiredep( {devDependencies: true} )[ 'js' ].map(function( file ){
+ return path.relative(process.cwd(), file);
+});
+
+module.exports = function(config) {
+/*eslint-enable*/
+ config.set({
+
+ // base path that will be used to resolve all patterns (eg. files, exclude)
+ basePath: '',
+
+
+ // frameworks to use
+ // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
+ frameworks: ['jasmine'],
+
+
+ // list of files / patterns to load in the browser
+ files: bowerComponents.concat([
+ '../../../xos/core/xoslib/static/js/vendor/ngXosVendor.js',
+ '../../../xos/core/xoslib/static/js/vendor/ngXosHelpers.js',
+ 'src/js/**/*.js',
+ 'spec/**/*.mock.js',
+ 'spec/**/*.test.js',
+ 'src/**/*.html'
+ ]),
+
+
+ // list of files to exclude
+ exclude: [
+ ],
+
+
+ // preprocess matching files before serving them to the browser
+ // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
+ preprocessors: {
+ 'src/js/**/*.js': ['babel'],
+ 'spec/**/*.test.js': ['babel'],
+ 'src/**/*.html': ['ng-html2js']
+ },
+
+ ngHtml2JsPreprocessor: {
+ stripPrefix: 'src/', //strip the src path from template url (http://stackoverflow.com/questions/22869668/karma-unexpected-request-when-testing-angular-directive-even-with-ng-html2js)
+ moduleName: 'templates' // define the template module name
+ },
+
+ // test results reporter to use
+ // possible values: 'dots', 'progress'
+ // available reporters: https://npmjs.org/browse/keyword/karma-reporter
+ reporters: ['mocha'],
+
+
+ // web server port
+ port: 9876,
+
+
+ // enable / disable colors in the output (reporters and logs)
+ colors: true,
+
+
+ // level of logging
+ // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
+ logLevel: config.LOG_INFO,
+
+
+ // enable / disable watching file and executing tests whenever any file changes
+ autoWatch: true,
+
+
+ // start these browsers
+ // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
+ browsers: ['PhantomJS'],
+
+
+ // Continuous Integration mode
+ // if true, Karma captures browsers, runs the tests and exits
+ singleRun: false
+ });
+};
diff --git a/views/ngXosViews/ecordTopology/mocks/data/SCA_ETH_FDFr_EC.json b/views/ngXosViews/ecordTopology/mocks/data/SCA_ETH_FDFr_EC.json
new file mode 100644
index 0000000..0637a08
--- /dev/null
+++ b/views/ngXosViews/ecordTopology/mocks/data/SCA_ETH_FDFr_EC.json
@@ -0,0 +1 @@
+[]
\ No newline at end of file
diff --git a/views/ngXosViews/ecordTopology/mocks/data/SCA_ETH_FPP_UNI_N.json b/views/ngXosViews/ecordTopology/mocks/data/SCA_ETH_FPP_UNI_N.json
new file mode 100644
index 0000000..6a0e547
--- /dev/null
+++ b/views/ngXosViews/ecordTopology/mocks/data/SCA_ETH_FPP_UNI_N.json
@@ -0,0 +1,80 @@
+[
+ {
+ "id": 3,
+ "interfaceCfgIdentifier": "uni3",
+ "transportPort": {
+ "Hostname": "Host1",
+ "Port": 1
+ },
+ "physicalLayer": "string",
+ "physicalLayerDuplexMode": "string",
+ "synchronousMode": "string",
+ "numberOfLinks": 0,
+ "uniResiliency": "string",
+ "frameFormat": "string",
+ "uniMaximumServiceFrameSize": 0,
+ "multiplexing": "string",
+ "uniCfgCeVidUntagged": 0,
+ "uniCfgCePriorityUntagged": 0,
+ "ceVlanId": "ceVlanId",
+ "evcId": "evcId",
+ "interfaceStatusMaxVc": 0,
+ "bundling": "string",
+ "allToOneBundling": "string",
+ "linkOam": "string",
+ "uniMeg": "string",
+ "eLMI": "string"
+ },
+ {
+ "id": 4,
+ "interfaceCfgIdentifier": "uni4",
+ "transportPort": {
+ "Hostname": "Host2",
+ "Port": 1
+ },
+ "physicalLayer": "string",
+ "physicalLayerDuplexMode": "string",
+ "synchronousMode": "string",
+ "numberOfLinks": 0,
+ "uniResiliency": "string",
+ "frameFormat": "string",
+ "uniMaximumServiceFrameSize": 0,
+ "multiplexing": "string",
+ "uniCfgCeVidUntagged": 0,
+ "uniCfgCePriorityUntagged": 0,
+ "ceVlanId": "ceVlanId",
+ "evcId": "evcId",
+ "interfaceStatusMaxVc": 0,
+ "bundling": "string",
+ "allToOneBundling": "string",
+ "linkOam": "string",
+ "uniMeg": "string",
+ "eLMI": "string"
+ },
+ {
+ "id": 5,
+ "interfaceCfgIdentifier": "uni5",
+ "transportPort": {
+ "Hostname": "Host3",
+ "Port": 1
+ },
+ "physicalLayer": "string",
+ "physicalLayerDuplexMode": "string",
+ "synchronousMode": "string",
+ "numberOfLinks": 0,
+ "uniResiliency": "string",
+ "frameFormat": "string",
+ "uniMaximumServiceFrameSize": 0,
+ "multiplexing": "string",
+ "uniCfgCeVidUntagged": 0,
+ "uniCfgCePriorityUntagged": 0,
+ "ceVlanId": "ceVlanId",
+ "evcId": "evcId",
+ "interfaceStatusMaxVc": 0,
+ "bundling": "string",
+ "allToOneBundling": "string",
+ "linkOam": "string",
+ "uniMeg": "string",
+ "eLMI": "string"
+ }
+]
diff --git a/views/ngXosViews/ecordTopology/mocks/ecord.conf.json b/views/ngXosViews/ecordTopology/mocks/ecord.conf.json
new file mode 100644
index 0000000..5f4d08b
--- /dev/null
+++ b/views/ngXosViews/ecordTopology/mocks/ecord.conf.json
@@ -0,0 +1,16 @@
+{
+ "endpoints": [
+ {
+ "url": "SCA_ETH_FPP_UNI_N",
+ "base": "onos/mef-sca-api/",
+ "methods": ["GET", "POST"],
+ "param": "interfaceCfgIdentifier"
+ },
+ {
+ "url": "SCA_ETH_FDFr_EC",
+ "base": "onos/mef-sca-api/",
+ "methods": ["GET", "POST"],
+ "param": "id"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/views/ngXosViews/ecordTopology/mocks/sca.py b/views/ngXosViews/ecordTopology/mocks/sca.py
new file mode 100644
index 0000000..1b7aec3
--- /dev/null
+++ b/views/ngXosViews/ecordTopology/mocks/sca.py
@@ -0,0 +1,80 @@
+#!/usr/bin/python
+
+import copy
+import json
+from flask import Flask, make_response, request
+from flask.ext.cors import CORS
+from subprocess import call
+
+app = Flask(__name__)
+app.debug = True
+CORS(app)
+
+e_lines = {}
+
+
+@app.route('/SCA_ETH_FDFr_EC/findByState', methods=['GET'])
+def get_elines_by_state():
+ resp = make_response(json.dumps(e_lines.values()))
+ resp.mimetype = 'application/json'
+ resp.headers['Access-Control-Allow-Origin'] = '*'
+ return resp
+
+
+@app.route('/SCA_ETH_FDFr_EC', methods=['GET'])
+def get_elines():
+ resp = make_response(json.dumps(e_lines.values()))
+ resp.mimetype = 'application/json'
+ resp.headers['Access-Control-Allow-Origin'] = '*'
+ return resp
+
+
+@app.route('/SCA_ETH_FDFr_EC/<name>/', methods=['GET'])
+def get_eline(name):
+ resp = make_response(json.dumps(e_lines[int(name)]))
+ resp.mimetype = 'application/json'
+ resp.headers['Access-Control-Allow-Origin'] = '*'
+ return resp
+
+
+# Convert long value to dotted hex value with specified length in bytes
+def longToHex(l, length=6):
+ h = ("%x" % l)
+ if len(h) % 2 != 0:
+ h = '0' + h
+ result = ':'.join([h[i:i+2] for i in range(0, len(h), 2)])
+ prefix = '00:' * (length - (len(h) / 2) - (len(h) % 2))
+ return prefix + result
+
+
+@app.route('/SCA_ETH_FDFr_EC', methods=['POST'])
+def create_eline():
+ # Store E-Line
+ e_line = json.loads(request.data)
+ e_line['id'] = len(e_lines) + 1
+
+ e_lines[e_line['id']] = e_line
+
+ # Create E-Line in ONOS
+ flow_points = e_line['SCA_ETH_Flow_Points']
+
+ # src_host = flow_points[0]['scaEthFppUniN']['transportPort']['Hostname'] + '/-' + flow_points[0]['scaEthFppUniN']['transportPort']['Port']
+ # dst_host = flow_points[1]['scaEthFppUniN']['transportPort']['Hostname'] + '/-' + flow_points[1]['scaEthFppUniN']['transportPort']['Port']
+
+ src_index = int(flow_points[0]['scaEthFppUniN']['transportPort']['Hostname'][-2:])
+ dst_index = int(flow_points[1]['scaEthFppUniN']['transportPort']['Hostname'][-2:])
+
+ src_host = str(longToHex(src_index, 6)) + '/-1'
+ dst_host = str(longToHex(dst_index, 6)) + '/-1'
+
+ print 'Creating E-Line between %s (%s) and %s (%s)' % (src_index, src_host, dst_index, dst_host)
+ call(['onos', 'localhost', 'add-host-intent', src_host, dst_host])
+
+ # Return response
+ resp = make_response(json.dumps(e_line))
+ resp.mimetype = 'application/json'
+ resp.headers['Access-Control-Allow-Origin'] = '*'
+ return resp
+
+if __name__ == '__main__':
+ app.run(host='0.0.0.0', port=6000)
diff --git a/views/ngXosViews/ecordTopology/package.json b/views/ngXosViews/ecordTopology/package.json
new file mode 100644
index 0000000..3bee7c2
--- /dev/null
+++ b/views/ngXosViews/ecordTopology/package.json
@@ -0,0 +1,64 @@
+{
+ "name": "xos-ecordTopology",
+ "version": "1.0.0",
+ "description": "Angular Application for XOS, created with generator-xos",
+ "scripts": {
+ "prestart": "npm install && bower install",
+ "start": "gulp serve",
+ "prebuild": "npm install && bower install",
+ "build": "gulp",
+ "test": "karma start",
+ "test:ci": "karma start --single-run",
+ "lint": "eslint src/js/",
+ "server": "easy-mocker -c ./mocks/ecord.conf.json -d ./mocks/data/ -p 4000"
+ },
+ "keywords": [
+ "XOS",
+ "Angular",
+ "XOSlib"
+ ],
+ "author": "Matteo Scandolo",
+ "license": "MIT",
+ "dependencies": {},
+ "devDependencies": {
+ "autoprefixer": "^6.3.3",
+ "browser-sync": "^2.9.11",
+ "css-mqpacker": "^4.0.0",
+ "csswring": "^4.2.1",
+ "del": "^2.0.2",
+ "easy-mocker": "^1.2.0",
+ "eslint": "^1.8.0",
+ "eslint-plugin-angular": "linkmesrl/eslint-plugin-angular",
+ "gulp": "^3.9.0",
+ "gulp-angular-filesort": "^1.1.1",
+ "gulp-angular-templatecache": "^1.8.0",
+ "gulp-babel": "^5.3.0",
+ "gulp-concat": "^2.6.0",
+ "gulp-concat-util": "^0.5.5",
+ "gulp-eslint": "^1.0.0",
+ "gulp-inject": "^3.0.0",
+ "gulp-minify-html": "^1.0.4",
+ "gulp-ng-annotate": "^1.1.0",
+ "gulp-postcss": "^6.0.1",
+ "gulp-rename": "^1.2.2",
+ "gulp-replace": "^0.5.4",
+ "gulp-sass": "^2.2.0",
+ "gulp-uglify": "^1.4.2",
+ "http-proxy": "^1.12.0",
+ "ink-docstrap": "^0.5.2",
+ "jasmine-core": "~2.3.4",
+ "karma": "^0.13.14",
+ "karma-babel-preprocessor": "~5.2.2",
+ "karma-coverage": "^0.5.3",
+ "karma-jasmine": "~0.3.6",
+ "karma-mocha-reporter": "~1.1.1",
+ "karma-ng-html2js-preprocessor": "^0.2.0",
+ "karma-phantomjs-launcher": "~0.2.1",
+ "lodash": "^3.10.1",
+ "phantomjs": "^1.9.19",
+ "proxy-middleware": "^0.15.0",
+ "run-sequence": "^1.1.4",
+ "wiredep": "^3.0.0-beta",
+ "wrench": "^1.5.8"
+ }
+}
diff --git a/views/ngXosViews/ecordTopology/spec/sample.test.js b/views/ngXosViews/ecordTopology/spec/sample.test.js
new file mode 100644
index 0000000..0635ee3
--- /dev/null
+++ b/views/ngXosViews/ecordTopology/spec/sample.test.js
@@ -0,0 +1,37 @@
+'use strict';
+
+describe('The User List', () => {
+
+ var scope, element, isolatedScope, httpBackend;
+
+ beforeEach(module('xos.ecordTopology'));
+ beforeEach(module('templates'));
+
+ beforeEach(inject(function($httpBackend, $compile, $rootScope){
+
+ httpBackend = $httpBackend;
+ // Setting up mock request
+ $httpBackend.expectGET('/api/core/users/?no_hyperlinks=1').respond([
+ {
+ email: 'matteo.scandolo@gmail.com',
+ firstname: 'Matteo',
+ lastname: 'Scandolo'
+ }
+ ]);
+
+ scope = $rootScope.$new();
+ element = angular.element('<users-list></users-list>');
+ $compile(element)(scope);
+ scope.$digest();
+ isolatedScope = element.isolateScope().vm;
+ }));
+
+ xit('should load 1 users', () => {
+ httpBackend.flush();
+ expect(isolatedScope.users.length).toBe(1);
+ expect(isolatedScope.users[0].email).toEqual('matteo.scandolo@gmail.com');
+ expect(isolatedScope.users[0].firstname).toEqual('Matteo');
+ expect(isolatedScope.users[0].lastname).toEqual('Scandolo');
+ });
+
+});
diff --git a/views/ngXosViews/ecordTopology/src/css/elan-map.css b/views/ngXosViews/ecordTopology/src/css/elan-map.css
new file mode 100644
index 0000000..eb62cd2
--- /dev/null
+++ b/views/ngXosViews/ecordTopology/src/css/elan-map.css
@@ -0,0 +1,42 @@
+/*$brand-primary: $cord-red;*/
+elan-map {
+ display: block;
+ width: 100%;
+ height: 380px;
+ position: relative; }
+ elan-map svg {
+ position: absolute;
+ top: 0;
+ left: 0; }
+ elan-map circle.elan,
+ elan-map rect.elan {
+ stroke: #5bc0de;
+ stroke-width: 2;
+ fill: #fff; }
+ elan-map circle.elan,
+ elan-map circle.uni {
+ cursor: pointer; }
+ elan-map .node.uni circle.uni,
+ elan-map .node.uni rect.uni {
+ stroke: #CE5650;
+ stroke-width: 2;
+ fill: #fff; }
+ elan-map .node.uni path {
+ fill: #902d28; }
+ elan-map line {
+ stroke: #CE5650;
+ stroke-width: 1; }
+ elan-map #map {
+ background: #EFEBE2; }
+ elan-map .subunit {
+ fill: #B7DAFF;
+ stroke: white;
+ stroke-width: 1px; }
+ elan-map .subunit._10 {
+ fill: transparent;
+ stroke: transparent; }
+ elan-map .exterior-boundary {
+ fill: none;
+ stroke: black;
+ stroke-linejoin: round;
+ stroke-width: 1px; }
diff --git a/views/ngXosViews/ecordTopology/src/css/eline-details.css b/views/ngXosViews/ecordTopology/src/css/eline-details.css
new file mode 100644
index 0000000..3c643d7
--- /dev/null
+++ b/views/ngXosViews/ecordTopology/src/css/eline-details.css
@@ -0,0 +1,6 @@
+.service-container .btn {
+ font-size: 12px; }
+
+.sla input.input-sm {
+ max-width: 60px;
+ text-align: right; }
diff --git a/views/ngXosViews/ecordTopology/src/css/main.css b/views/ngXosViews/ecordTopology/src/css/main.css
new file mode 100644
index 0000000..ccb5ba7
--- /dev/null
+++ b/views/ngXosViews/ecordTopology/src/css/main.css
@@ -0,0 +1,5930 @@
+@charset "UTF-8";
+/*!
+ * Bootstrap v3.3.6 (http://getbootstrap.com)
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
+html {
+ font-family: sans-serif;
+ -ms-text-size-adjust: 100%;
+ -webkit-text-size-adjust: 100%; }
+
+body {
+ margin: 0; }
+
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+menu,
+nav,
+section,
+summary {
+ display: block; }
+
+audio,
+canvas,
+progress,
+video {
+ display: inline-block;
+ vertical-align: baseline; }
+
+audio:not([controls]) {
+ display: none;
+ height: 0; }
+
+[hidden],
+template {
+ display: none; }
+
+a {
+ background-color: transparent; }
+
+a:active,
+a:hover {
+ outline: 0; }
+
+abbr[title] {
+ border-bottom: 1px dotted; }
+
+b,
+strong {
+ font-weight: bold; }
+
+dfn {
+ font-style: italic; }
+
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0; }
+
+mark {
+ background: #ff0;
+ color: #000; }
+
+small {
+ font-size: 80%; }
+
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline; }
+
+sup {
+ top: -0.5em; }
+
+sub {
+ bottom: -0.25em; }
+
+img {
+ border: 0; }
+
+svg:not(:root) {
+ overflow: hidden; }
+
+figure {
+ margin: 1em 40px; }
+
+hr {
+ box-sizing: content-box;
+ height: 0; }
+
+pre {
+ overflow: auto; }
+
+code,
+kbd,
+pre,
+samp {
+ font-family: monospace, monospace;
+ font-size: 1em; }
+
+button,
+input,
+optgroup,
+select,
+textarea {
+ color: inherit;
+ font: inherit;
+ margin: 0; }
+
+button {
+ overflow: visible; }
+
+button,
+select {
+ text-transform: none; }
+
+button,
+html input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+ -webkit-appearance: button;
+ cursor: pointer; }
+
+button[disabled],
+html input[disabled] {
+ cursor: default; }
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+ border: 0;
+ padding: 0; }
+
+input {
+ line-height: normal; }
+
+input[type="checkbox"],
+input[type="radio"] {
+ box-sizing: border-box;
+ padding: 0; }
+
+input[type="number"]::-webkit-inner-spin-button,
+input[type="number"]::-webkit-outer-spin-button {
+ height: auto; }
+
+input[type="search"] {
+ -webkit-appearance: textfield;
+ box-sizing: content-box; }
+
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none; }
+
+fieldset {
+ border: 1px solid #c0c0c0;
+ margin: 0 2px;
+ padding: 0.35em 0.625em 0.75em; }
+
+legend {
+ border: 0;
+ padding: 0; }
+
+textarea {
+ overflow: auto; }
+
+optgroup {
+ font-weight: bold; }
+
+table {
+ border-collapse: collapse;
+ border-spacing: 0; }
+
+td,
+th {
+ padding: 0; }
+
+/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
+@media print {
+ *,
+ *:before,
+ *:after {
+ background: transparent !important;
+ color: #000 !important;
+ box-shadow: none !important;
+ text-shadow: none !important; }
+ a,
+ a:visited {
+ text-decoration: underline; }
+ a[href]:after {
+ content: " (" attr(href) ")"; }
+ abbr[title]:after {
+ content: " (" attr(title) ")"; }
+ a[href^="#"]:after,
+ a[href^="javascript:"]:after {
+ content: ""; }
+ pre,
+ blockquote {
+ border: 1px solid #999;
+ page-break-inside: avoid; }
+ thead {
+ display: table-header-group; }
+ tr,
+ img {
+ page-break-inside: avoid; }
+ img {
+ max-width: 100% !important; }
+ p,
+ h2,
+ h3 {
+ orphans: 3;
+ widows: 3; }
+ h2,
+ h3 {
+ page-break-after: avoid; }
+ .navbar {
+ display: none; }
+ .btn > .caret,
+ .dropup > .btn > .caret {
+ border-top-color: #000 !important; }
+ .label {
+ border: 1px solid #000; }
+ .table {
+ border-collapse: collapse !important; }
+ .table td,
+ .table th {
+ background-color: #fff !important; }
+ .table-bordered th,
+ .table-bordered td {
+ border: 1px solid #ddd !important; } }
+
+@font-face {
+ font-family: 'Glyphicons Halflings';
+ src: url("/static/suit/bootstrap/fonts/glyphicons-halflings-regular.eot");
+ src: url("/static/suit/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"), url("/static/suit/bootstrap/fonts/glyphicons-halflings-regular.woff2") format("woff2"), url("/static/suit/bootstrap/fonts/glyphicons-halflings-regular.woff") format("woff"), url("/static/suit/bootstrap/fonts/glyphicons-halflings-regular.ttf") format("truetype"), url("/static/suit/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular") format("svg"); }
+
+.glyphicon {
+ position: relative;
+ top: 1px;
+ display: inline-block;
+ font-family: 'Glyphicons Halflings';
+ font-style: normal;
+ font-weight: normal;
+ line-height: 1;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale; }
+
+.glyphicon-asterisk:before {
+ content: "\002a"; }
+
+.glyphicon-plus:before {
+ content: "\002b"; }
+
+.glyphicon-euro:before,
+.glyphicon-eur:before {
+ content: "\20ac"; }
+
+.glyphicon-minus:before {
+ content: "\2212"; }
+
+.glyphicon-cloud:before {
+ content: "\2601"; }
+
+.glyphicon-envelope:before {
+ content: "\2709"; }
+
+.glyphicon-pencil:before {
+ content: "\270f"; }
+
+.glyphicon-glass:before {
+ content: "\e001"; }
+
+.glyphicon-music:before {
+ content: "\e002"; }
+
+.glyphicon-search:before {
+ content: "\e003"; }
+
+.glyphicon-heart:before {
+ content: "\e005"; }
+
+.glyphicon-star:before {
+ content: "\e006"; }
+
+.glyphicon-star-empty:before {
+ content: "\e007"; }
+
+.glyphicon-user:before {
+ content: "\e008"; }
+
+.glyphicon-film:before {
+ content: "\e009"; }
+
+.glyphicon-th-large:before {
+ content: "\e010"; }
+
+.glyphicon-th:before {
+ content: "\e011"; }
+
+.glyphicon-th-list:before {
+ content: "\e012"; }
+
+.glyphicon-ok:before {
+ content: "\e013"; }
+
+.glyphicon-remove:before {
+ content: "\e014"; }
+
+.glyphicon-zoom-in:before {
+ content: "\e015"; }
+
+.glyphicon-zoom-out:before {
+ content: "\e016"; }
+
+.glyphicon-off:before {
+ content: "\e017"; }
+
+.glyphicon-signal:before {
+ content: "\e018"; }
+
+.glyphicon-cog:before {
+ content: "\e019"; }
+
+.glyphicon-trash:before {
+ content: "\e020"; }
+
+.glyphicon-home:before {
+ content: "\e021"; }
+
+.glyphicon-file:before {
+ content: "\e022"; }
+
+.glyphicon-time:before {
+ content: "\e023"; }
+
+.glyphicon-road:before {
+ content: "\e024"; }
+
+.glyphicon-download-alt:before {
+ content: "\e025"; }
+
+.glyphicon-download:before {
+ content: "\e026"; }
+
+.glyphicon-upload:before {
+ content: "\e027"; }
+
+.glyphicon-inbox:before {
+ content: "\e028"; }
+
+.glyphicon-play-circle:before {
+ content: "\e029"; }
+
+.glyphicon-repeat:before {
+ content: "\e030"; }
+
+.glyphicon-refresh:before {
+ content: "\e031"; }
+
+.glyphicon-list-alt:before {
+ content: "\e032"; }
+
+.glyphicon-lock:before {
+ content: "\e033"; }
+
+.glyphicon-flag:before {
+ content: "\e034"; }
+
+.glyphicon-headphones:before {
+ content: "\e035"; }
+
+.glyphicon-volume-off:before {
+ content: "\e036"; }
+
+.glyphicon-volume-down:before {
+ content: "\e037"; }
+
+.glyphicon-volume-up:before {
+ content: "\e038"; }
+
+.glyphicon-qrcode:before {
+ content: "\e039"; }
+
+.glyphicon-barcode:before {
+ content: "\e040"; }
+
+.glyphicon-tag:before {
+ content: "\e041"; }
+
+.glyphicon-tags:before {
+ content: "\e042"; }
+
+.glyphicon-book:before {
+ content: "\e043"; }
+
+.glyphicon-bookmark:before {
+ content: "\e044"; }
+
+.glyphicon-print:before {
+ content: "\e045"; }
+
+.glyphicon-camera:before {
+ content: "\e046"; }
+
+.glyphicon-font:before {
+ content: "\e047"; }
+
+.glyphicon-bold:before {
+ content: "\e048"; }
+
+.glyphicon-italic:before {
+ content: "\e049"; }
+
+.glyphicon-text-height:before {
+ content: "\e050"; }
+
+.glyphicon-text-width:before {
+ content: "\e051"; }
+
+.glyphicon-align-left:before {
+ content: "\e052"; }
+
+.glyphicon-align-center:before {
+ content: "\e053"; }
+
+.glyphicon-align-right:before {
+ content: "\e054"; }
+
+.glyphicon-align-justify:before {
+ content: "\e055"; }
+
+.glyphicon-list:before {
+ content: "\e056"; }
+
+.glyphicon-indent-left:before {
+ content: "\e057"; }
+
+.glyphicon-indent-right:before {
+ content: "\e058"; }
+
+.glyphicon-facetime-video:before {
+ content: "\e059"; }
+
+.glyphicon-picture:before {
+ content: "\e060"; }
+
+.glyphicon-map-marker:before {
+ content: "\e062"; }
+
+.glyphicon-adjust:before {
+ content: "\e063"; }
+
+.glyphicon-tint:before {
+ content: "\e064"; }
+
+.glyphicon-edit:before {
+ content: "\e065"; }
+
+.glyphicon-share:before {
+ content: "\e066"; }
+
+.glyphicon-check:before {
+ content: "\e067"; }
+
+.glyphicon-move:before {
+ content: "\e068"; }
+
+.glyphicon-step-backward:before {
+ content: "\e069"; }
+
+.glyphicon-fast-backward:before {
+ content: "\e070"; }
+
+.glyphicon-backward:before {
+ content: "\e071"; }
+
+.glyphicon-play:before {
+ content: "\e072"; }
+
+.glyphicon-pause:before {
+ content: "\e073"; }
+
+.glyphicon-stop:before {
+ content: "\e074"; }
+
+.glyphicon-forward:before {
+ content: "\e075"; }
+
+.glyphicon-fast-forward:before {
+ content: "\e076"; }
+
+.glyphicon-step-forward:before {
+ content: "\e077"; }
+
+.glyphicon-eject:before {
+ content: "\e078"; }
+
+.glyphicon-chevron-left:before {
+ content: "\e079"; }
+
+.glyphicon-chevron-right:before {
+ content: "\e080"; }
+
+.glyphicon-plus-sign:before {
+ content: "\e081"; }
+
+.glyphicon-minus-sign:before {
+ content: "\e082"; }
+
+.glyphicon-remove-sign:before {
+ content: "\e083"; }
+
+.glyphicon-ok-sign:before {
+ content: "\e084"; }
+
+.glyphicon-question-sign:before {
+ content: "\e085"; }
+
+.glyphicon-info-sign:before {
+ content: "\e086"; }
+
+.glyphicon-screenshot:before {
+ content: "\e087"; }
+
+.glyphicon-remove-circle:before {
+ content: "\e088"; }
+
+.glyphicon-ok-circle:before {
+ content: "\e089"; }
+
+.glyphicon-ban-circle:before {
+ content: "\e090"; }
+
+.glyphicon-arrow-left:before {
+ content: "\e091"; }
+
+.glyphicon-arrow-right:before {
+ content: "\e092"; }
+
+.glyphicon-arrow-up:before {
+ content: "\e093"; }
+
+.glyphicon-arrow-down:before {
+ content: "\e094"; }
+
+.glyphicon-share-alt:before {
+ content: "\e095"; }
+
+.glyphicon-resize-full:before {
+ content: "\e096"; }
+
+.glyphicon-resize-small:before {
+ content: "\e097"; }
+
+.glyphicon-exclamation-sign:before {
+ content: "\e101"; }
+
+.glyphicon-gift:before {
+ content: "\e102"; }
+
+.glyphicon-leaf:before {
+ content: "\e103"; }
+
+.glyphicon-fire:before {
+ content: "\e104"; }
+
+.glyphicon-eye-open:before {
+ content: "\e105"; }
+
+.glyphicon-eye-close:before {
+ content: "\e106"; }
+
+.glyphicon-warning-sign:before {
+ content: "\e107"; }
+
+.glyphicon-plane:before {
+ content: "\e108"; }
+
+.glyphicon-calendar:before {
+ content: "\e109"; }
+
+.glyphicon-random:before {
+ content: "\e110"; }
+
+.glyphicon-comment:before {
+ content: "\e111"; }
+
+.glyphicon-magnet:before {
+ content: "\e112"; }
+
+.glyphicon-chevron-up:before {
+ content: "\e113"; }
+
+.glyphicon-chevron-down:before {
+ content: "\e114"; }
+
+.glyphicon-retweet:before {
+ content: "\e115"; }
+
+.glyphicon-shopping-cart:before {
+ content: "\e116"; }
+
+.glyphicon-folder-close:before {
+ content: "\e117"; }
+
+.glyphicon-folder-open:before {
+ content: "\e118"; }
+
+.glyphicon-resize-vertical:before {
+ content: "\e119"; }
+
+.glyphicon-resize-horizontal:before {
+ content: "\e120"; }
+
+.glyphicon-hdd:before {
+ content: "\e121"; }
+
+.glyphicon-bullhorn:before {
+ content: "\e122"; }
+
+.glyphicon-bell:before {
+ content: "\e123"; }
+
+.glyphicon-certificate:before {
+ content: "\e124"; }
+
+.glyphicon-thumbs-up:before {
+ content: "\e125"; }
+
+.glyphicon-thumbs-down:before {
+ content: "\e126"; }
+
+.glyphicon-hand-right:before {
+ content: "\e127"; }
+
+.glyphicon-hand-left:before {
+ content: "\e128"; }
+
+.glyphicon-hand-up:before {
+ content: "\e129"; }
+
+.glyphicon-hand-down:before {
+ content: "\e130"; }
+
+.glyphicon-circle-arrow-right:before {
+ content: "\e131"; }
+
+.glyphicon-circle-arrow-left:before {
+ content: "\e132"; }
+
+.glyphicon-circle-arrow-up:before {
+ content: "\e133"; }
+
+.glyphicon-circle-arrow-down:before {
+ content: "\e134"; }
+
+.glyphicon-globe:before {
+ content: "\e135"; }
+
+.glyphicon-wrench:before {
+ content: "\e136"; }
+
+.glyphicon-tasks:before {
+ content: "\e137"; }
+
+.glyphicon-filter:before {
+ content: "\e138"; }
+
+.glyphicon-briefcase:before {
+ content: "\e139"; }
+
+.glyphicon-fullscreen:before {
+ content: "\e140"; }
+
+.glyphicon-dashboard:before {
+ content: "\e141"; }
+
+.glyphicon-paperclip:before {
+ content: "\e142"; }
+
+.glyphicon-heart-empty:before {
+ content: "\e143"; }
+
+.glyphicon-link:before {
+ content: "\e144"; }
+
+.glyphicon-phone:before {
+ content: "\e145"; }
+
+.glyphicon-pushpin:before {
+ content: "\e146"; }
+
+.glyphicon-usd:before {
+ content: "\e148"; }
+
+.glyphicon-gbp:before {
+ content: "\e149"; }
+
+.glyphicon-sort:before {
+ content: "\e150"; }
+
+.glyphicon-sort-by-alphabet:before {
+ content: "\e151"; }
+
+.glyphicon-sort-by-alphabet-alt:before {
+ content: "\e152"; }
+
+.glyphicon-sort-by-order:before {
+ content: "\e153"; }
+
+.glyphicon-sort-by-order-alt:before {
+ content: "\e154"; }
+
+.glyphicon-sort-by-attributes:before {
+ content: "\e155"; }
+
+.glyphicon-sort-by-attributes-alt:before {
+ content: "\e156"; }
+
+.glyphicon-unchecked:before {
+ content: "\e157"; }
+
+.glyphicon-expand:before {
+ content: "\e158"; }
+
+.glyphicon-collapse-down:before {
+ content: "\e159"; }
+
+.glyphicon-collapse-up:before {
+ content: "\e160"; }
+
+.glyphicon-log-in:before {
+ content: "\e161"; }
+
+.glyphicon-flash:before {
+ content: "\e162"; }
+
+.glyphicon-log-out:before {
+ content: "\e163"; }
+
+.glyphicon-new-window:before {
+ content: "\e164"; }
+
+.glyphicon-record:before {
+ content: "\e165"; }
+
+.glyphicon-save:before {
+ content: "\e166"; }
+
+.glyphicon-open:before {
+ content: "\e167"; }
+
+.glyphicon-saved:before {
+ content: "\e168"; }
+
+.glyphicon-import:before {
+ content: "\e169"; }
+
+.glyphicon-export:before {
+ content: "\e170"; }
+
+.glyphicon-send:before {
+ content: "\e171"; }
+
+.glyphicon-floppy-disk:before {
+ content: "\e172"; }
+
+.glyphicon-floppy-saved:before {
+ content: "\e173"; }
+
+.glyphicon-floppy-remove:before {
+ content: "\e174"; }
+
+.glyphicon-floppy-save:before {
+ content: "\e175"; }
+
+.glyphicon-floppy-open:before {
+ content: "\e176"; }
+
+.glyphicon-credit-card:before {
+ content: "\e177"; }
+
+.glyphicon-transfer:before {
+ content: "\e178"; }
+
+.glyphicon-cutlery:before {
+ content: "\e179"; }
+
+.glyphicon-header:before {
+ content: "\e180"; }
+
+.glyphicon-compressed:before {
+ content: "\e181"; }
+
+.glyphicon-earphone:before {
+ content: "\e182"; }
+
+.glyphicon-phone-alt:before {
+ content: "\e183"; }
+
+.glyphicon-tower:before {
+ content: "\e184"; }
+
+.glyphicon-stats:before {
+ content: "\e185"; }
+
+.glyphicon-sd-video:before {
+ content: "\e186"; }
+
+.glyphicon-hd-video:before {
+ content: "\e187"; }
+
+.glyphicon-subtitles:before {
+ content: "\e188"; }
+
+.glyphicon-sound-stereo:before {
+ content: "\e189"; }
+
+.glyphicon-sound-dolby:before {
+ content: "\e190"; }
+
+.glyphicon-sound-5-1:before {
+ content: "\e191"; }
+
+.glyphicon-sound-6-1:before {
+ content: "\e192"; }
+
+.glyphicon-sound-7-1:before {
+ content: "\e193"; }
+
+.glyphicon-copyright-mark:before {
+ content: "\e194"; }
+
+.glyphicon-registration-mark:before {
+ content: "\e195"; }
+
+.glyphicon-cloud-download:before {
+ content: "\e197"; }
+
+.glyphicon-cloud-upload:before {
+ content: "\e198"; }
+
+.glyphicon-tree-conifer:before {
+ content: "\e199"; }
+
+.glyphicon-tree-deciduous:before {
+ content: "\e200"; }
+
+.glyphicon-cd:before {
+ content: "\e201"; }
+
+.glyphicon-save-file:before {
+ content: "\e202"; }
+
+.glyphicon-open-file:before {
+ content: "\e203"; }
+
+.glyphicon-level-up:before {
+ content: "\e204"; }
+
+.glyphicon-copy:before {
+ content: "\e205"; }
+
+.glyphicon-paste:before {
+ content: "\e206"; }
+
+.glyphicon-alert:before {
+ content: "\e209"; }
+
+.glyphicon-equalizer:before {
+ content: "\e210"; }
+
+.glyphicon-king:before {
+ content: "\e211"; }
+
+.glyphicon-queen:before {
+ content: "\e212"; }
+
+.glyphicon-pawn:before {
+ content: "\e213"; }
+
+.glyphicon-bishop:before {
+ content: "\e214"; }
+
+.glyphicon-knight:before {
+ content: "\e215"; }
+
+.glyphicon-baby-formula:before {
+ content: "\e216"; }
+
+.glyphicon-tent:before {
+ content: "\26fa"; }
+
+.glyphicon-blackboard:before {
+ content: "\e218"; }
+
+.glyphicon-bed:before {
+ content: "\e219"; }
+
+.glyphicon-apple:before {
+ content: "\f8ff"; }
+
+.glyphicon-erase:before {
+ content: "\e221"; }
+
+.glyphicon-hourglass:before {
+ content: "\231b"; }
+
+.glyphicon-lamp:before {
+ content: "\e223"; }
+
+.glyphicon-duplicate:before {
+ content: "\e224"; }
+
+.glyphicon-piggy-bank:before {
+ content: "\e225"; }
+
+.glyphicon-scissors:before {
+ content: "\e226"; }
+
+.glyphicon-bitcoin:before {
+ content: "\e227"; }
+
+.glyphicon-btc:before {
+ content: "\e227"; }
+
+.glyphicon-xbt:before {
+ content: "\e227"; }
+
+.glyphicon-yen:before {
+ content: "\00a5"; }
+
+.glyphicon-jpy:before {
+ content: "\00a5"; }
+
+.glyphicon-ruble:before {
+ content: "\20bd"; }
+
+.glyphicon-rub:before {
+ content: "\20bd"; }
+
+.glyphicon-scale:before {
+ content: "\e230"; }
+
+.glyphicon-ice-lolly:before {
+ content: "\e231"; }
+
+.glyphicon-ice-lolly-tasted:before {
+ content: "\e232"; }
+
+.glyphicon-education:before {
+ content: "\e233"; }
+
+.glyphicon-option-horizontal:before {
+ content: "\e234"; }
+
+.glyphicon-option-vertical:before {
+ content: "\e235"; }
+
+.glyphicon-menu-hamburger:before {
+ content: "\e236"; }
+
+.glyphicon-modal-window:before {
+ content: "\e237"; }
+
+.glyphicon-oil:before {
+ content: "\e238"; }
+
+.glyphicon-grain:before {
+ content: "\e239"; }
+
+.glyphicon-sunglasses:before {
+ content: "\e240"; }
+
+.glyphicon-text-size:before {
+ content: "\e241"; }
+
+.glyphicon-text-color:before {
+ content: "\e242"; }
+
+.glyphicon-text-background:before {
+ content: "\e243"; }
+
+.glyphicon-object-align-top:before {
+ content: "\e244"; }
+
+.glyphicon-object-align-bottom:before {
+ content: "\e245"; }
+
+.glyphicon-object-align-horizontal:before {
+ content: "\e246"; }
+
+.glyphicon-object-align-left:before {
+ content: "\e247"; }
+
+.glyphicon-object-align-vertical:before {
+ content: "\e248"; }
+
+.glyphicon-object-align-right:before {
+ content: "\e249"; }
+
+.glyphicon-triangle-right:before {
+ content: "\e250"; }
+
+.glyphicon-triangle-left:before {
+ content: "\e251"; }
+
+.glyphicon-triangle-bottom:before {
+ content: "\e252"; }
+
+.glyphicon-triangle-top:before {
+ content: "\e253"; }
+
+.glyphicon-console:before {
+ content: "\e254"; }
+
+.glyphicon-superscript:before {
+ content: "\e255"; }
+
+.glyphicon-subscript:before {
+ content: "\e256"; }
+
+.glyphicon-menu-left:before {
+ content: "\e257"; }
+
+.glyphicon-menu-right:before {
+ content: "\e258"; }
+
+.glyphicon-menu-down:before {
+ content: "\e259"; }
+
+.glyphicon-menu-up:before {
+ content: "\e260"; }
+
+* {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box; }
+
+*:before,
+*:after {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box; }
+
+html {
+ font-size: 10px;
+ -webkit-tap-highlight-color: transparent; }
+
+body {
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-size: 14px;
+ line-height: 1.42857;
+ color: #333333;
+ background-color: #fff; }
+
+input,
+button,
+select,
+textarea {
+ font-family: inherit;
+ font-size: inherit;
+ line-height: inherit; }
+
+a {
+ color: #337ab7;
+ text-decoration: none; }
+ a:hover, a:focus {
+ color: #23527c;
+ text-decoration: underline; }
+ a:focus {
+ outline: thin dotted;
+ outline: 5px auto -webkit-focus-ring-color;
+ outline-offset: -2px; }
+
+figure {
+ margin: 0; }
+
+img {
+ vertical-align: middle; }
+
+.img-responsive {
+ display: block;
+ max-width: 100%;
+ height: auto; }
+
+.img-rounded {
+ border-radius: 6px; }
+
+.img-thumbnail {
+ padding: 4px;
+ line-height: 1.42857;
+ background-color: #fff;
+ border: 1px solid #ddd;
+ border-radius: 4px;
+ -webkit-transition: all 0.2s ease-in-out;
+ -o-transition: all 0.2s ease-in-out;
+ transition: all 0.2s ease-in-out;
+ display: inline-block;
+ max-width: 100%;
+ height: auto; }
+
+.img-circle {
+ border-radius: 50%; }
+
+hr {
+ margin-top: 20px;
+ margin-bottom: 20px;
+ border: 0;
+ border-top: 1px solid #eeeeee; }
+
+.sr-only {
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ margin: -1px;
+ padding: 0;
+ overflow: hidden;
+ clip: rect(0, 0, 0, 0);
+ border: 0; }
+
+.sr-only-focusable:active, .sr-only-focusable:focus {
+ position: static;
+ width: auto;
+ height: auto;
+ margin: 0;
+ overflow: visible;
+ clip: auto; }
+
+[role="button"] {
+ cursor: pointer; }
+
+h1, h2, h3, h4, h5, h6,
+.h1, .h2, .h3, .h4, .h5, .h6 {
+ font-family: inherit;
+ font-weight: 500;
+ line-height: 1.1;
+ color: inherit; }
+ h1 small,
+ h1 .small, h2 small,
+ h2 .small, h3 small,
+ h3 .small, h4 small,
+ h4 .small, h5 small,
+ h5 .small, h6 small,
+ h6 .small,
+ .h1 small,
+ .h1 .small, .h2 small,
+ .h2 .small, .h3 small,
+ .h3 .small, .h4 small,
+ .h4 .small, .h5 small,
+ .h5 .small, .h6 small,
+ .h6 .small {
+ font-weight: normal;
+ line-height: 1;
+ color: #777777; }
+
+h1, .h1,
+h2, .h2,
+h3, .h3 {
+ margin-top: 20px;
+ margin-bottom: 10px; }
+ h1 small,
+ h1 .small, .h1 small,
+ .h1 .small,
+ h2 small,
+ h2 .small, .h2 small,
+ .h2 .small,
+ h3 small,
+ h3 .small, .h3 small,
+ .h3 .small {
+ font-size: 65%; }
+
+h4, .h4,
+h5, .h5,
+h6, .h6 {
+ margin-top: 10px;
+ margin-bottom: 10px; }
+ h4 small,
+ h4 .small, .h4 small,
+ .h4 .small,
+ h5 small,
+ h5 .small, .h5 small,
+ .h5 .small,
+ h6 small,
+ h6 .small, .h6 small,
+ .h6 .small {
+ font-size: 75%; }
+
+h1, .h1 {
+ font-size: 36px; }
+
+h2, .h2 {
+ font-size: 30px; }
+
+h3, .h3 {
+ font-size: 24px; }
+
+h4, .h4 {
+ font-size: 18px; }
+
+h5, .h5 {
+ font-size: 14px; }
+
+h6, .h6 {
+ font-size: 12px; }
+
+p {
+ margin: 0 0 10px; }
+
+.lead {
+ margin-bottom: 20px;
+ font-size: 16px;
+ font-weight: 300;
+ line-height: 1.4; }
+ @media (min-width: 768px) {
+ .lead {
+ font-size: 21px; } }
+
+small,
+.small {
+ font-size: 85%; }
+
+mark,
+.mark {
+ background-color: #fcf8e3;
+ padding: .2em; }
+
+.text-left {
+ text-align: left; }
+
+.text-right {
+ text-align: right; }
+
+.text-center {
+ text-align: center; }
+
+.text-justify {
+ text-align: justify; }
+
+.text-nowrap {
+ white-space: nowrap; }
+
+.text-lowercase {
+ text-transform: lowercase; }
+
+.text-uppercase, .initialism {
+ text-transform: uppercase; }
+
+.text-capitalize {
+ text-transform: capitalize; }
+
+.text-muted {
+ color: #777777; }
+
+.text-primary {
+ color: #337ab7; }
+
+a.text-primary:hover,
+a.text-primary:focus {
+ color: #286090; }
+
+.text-success {
+ color: #3c763d; }
+
+a.text-success:hover,
+a.text-success:focus {
+ color: #2b542c; }
+
+.text-info {
+ color: #31708f; }
+
+a.text-info:hover,
+a.text-info:focus {
+ color: #245269; }
+
+.text-warning {
+ color: #8a6d3b; }
+
+a.text-warning:hover,
+a.text-warning:focus {
+ color: #66512c; }
+
+.text-danger {
+ color: #a94442; }
+
+a.text-danger:hover,
+a.text-danger:focus {
+ color: #843534; }
+
+.bg-primary {
+ color: #fff; }
+
+.bg-primary {
+ background-color: #337ab7; }
+
+a.bg-primary:hover,
+a.bg-primary:focus {
+ background-color: #286090; }
+
+.bg-success {
+ background-color: #dff0d8; }
+
+a.bg-success:hover,
+a.bg-success:focus {
+ background-color: #c1e2b3; }
+
+.bg-info {
+ background-color: #d9edf7; }
+
+a.bg-info:hover,
+a.bg-info:focus {
+ background-color: #afd9ee; }
+
+.bg-warning {
+ background-color: #fcf8e3; }
+
+a.bg-warning:hover,
+a.bg-warning:focus {
+ background-color: #f7ecb5; }
+
+.bg-danger {
+ background-color: #f2dede; }
+
+a.bg-danger:hover,
+a.bg-danger:focus {
+ background-color: #e4b9b9; }
+
+.page-header {
+ padding-bottom: 9px;
+ margin: 40px 0 20px;
+ border-bottom: 1px solid #eeeeee; }
+
+ul,
+ol {
+ margin-top: 0;
+ margin-bottom: 10px; }
+ ul ul,
+ ul ol,
+ ol ul,
+ ol ol {
+ margin-bottom: 0; }
+
+.list-unstyled {
+ padding-left: 0;
+ list-style: none; }
+
+.list-inline {
+ padding-left: 0;
+ list-style: none;
+ margin-left: -5px; }
+ .list-inline > li {
+ display: inline-block;
+ padding-left: 5px;
+ padding-right: 5px; }
+
+dl {
+ margin-top: 0;
+ margin-bottom: 20px; }
+
+dt,
+dd {
+ line-height: 1.42857; }
+
+dt {
+ font-weight: bold; }
+
+dd {
+ margin-left: 0; }
+
+.dl-horizontal dd:before, .dl-horizontal dd:after {
+ content: " ";
+ display: table; }
+
+.dl-horizontal dd:after {
+ clear: both; }
+
+@media (min-width: 768px) {
+ .dl-horizontal dt {
+ float: left;
+ width: 160px;
+ clear: left;
+ text-align: right;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap; }
+ .dl-horizontal dd {
+ margin-left: 180px; } }
+
+abbr[title],
+abbr[data-original-title] {
+ cursor: help;
+ border-bottom: 1px dotted #777777; }
+
+.initialism {
+ font-size: 90%; }
+
+blockquote {
+ padding: 10px 20px;
+ margin: 0 0 20px;
+ font-size: 17.5px;
+ border-left: 5px solid #eeeeee; }
+ blockquote p:last-child,
+ blockquote ul:last-child,
+ blockquote ol:last-child {
+ margin-bottom: 0; }
+ blockquote footer,
+ blockquote small,
+ blockquote .small {
+ display: block;
+ font-size: 80%;
+ line-height: 1.42857;
+ color: #777777; }
+ blockquote footer:before,
+ blockquote small:before,
+ blockquote .small:before {
+ content: '\2014 \00A0'; }
+
+.blockquote-reverse,
+blockquote.pull-right {
+ padding-right: 15px;
+ padding-left: 0;
+ border-right: 5px solid #eeeeee;
+ border-left: 0;
+ text-align: right; }
+ .blockquote-reverse footer:before,
+ .blockquote-reverse small:before,
+ .blockquote-reverse .small:before,
+ blockquote.pull-right footer:before,
+ blockquote.pull-right small:before,
+ blockquote.pull-right .small:before {
+ content: ''; }
+ .blockquote-reverse footer:after,
+ .blockquote-reverse small:after,
+ .blockquote-reverse .small:after,
+ blockquote.pull-right footer:after,
+ blockquote.pull-right small:after,
+ blockquote.pull-right .small:after {
+ content: '\00A0 \2014'; }
+
+address {
+ margin-bottom: 20px;
+ font-style: normal;
+ line-height: 1.42857; }
+
+code,
+kbd,
+pre,
+samp {
+ font-family: Menlo, Monaco, Consolas, "Courier New", monospace; }
+
+code {
+ padding: 2px 4px;
+ font-size: 90%;
+ color: #c7254e;
+ background-color: #f9f2f4;
+ border-radius: 4px; }
+
+kbd {
+ padding: 2px 4px;
+ font-size: 90%;
+ color: #fff;
+ background-color: #333;
+ border-radius: 3px;
+ box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); }
+ kbd kbd {
+ padding: 0;
+ font-size: 100%;
+ font-weight: bold;
+ box-shadow: none; }
+
+pre {
+ display: block;
+ padding: 9.5px;
+ margin: 0 0 10px;
+ font-size: 13px;
+ line-height: 1.42857;
+ word-break: break-all;
+ word-wrap: break-word;
+ color: #333333;
+ background-color: #f5f5f5;
+ border: 1px solid #ccc;
+ border-radius: 4px; }
+ pre code {
+ padding: 0;
+ font-size: inherit;
+ color: inherit;
+ white-space: pre-wrap;
+ background-color: transparent;
+ border-radius: 0; }
+
+.pre-scrollable {
+ max-height: 340px;
+ overflow-y: scroll; }
+
+.container {
+ margin-right: auto;
+ margin-left: auto;
+ padding-left: 15px;
+ padding-right: 15px; }
+ .container:before, .container:after {
+ content: " ";
+ display: table; }
+ .container:after {
+ clear: both; }
+ @media (min-width: 768px) {
+ .container {
+ width: 750px; } }
+ @media (min-width: 992px) {
+ .container {
+ width: 970px; } }
+ @media (min-width: 1200px) {
+ .container {
+ width: 1170px; } }
+
+.container-fluid {
+ margin-right: auto;
+ margin-left: auto;
+ padding-left: 15px;
+ padding-right: 15px; }
+ .container-fluid:before, .container-fluid:after {
+ content: " ";
+ display: table; }
+ .container-fluid:after {
+ clear: both; }
+
+.row {
+ margin-left: -15px;
+ margin-right: -15px; }
+ .row:before, .row:after {
+ content: " ";
+ display: table; }
+ .row:after {
+ clear: both; }
+
+.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
+ position: relative;
+ min-height: 1px;
+ padding-left: 15px;
+ padding-right: 15px; }
+
+.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
+ float: left; }
+
+.col-xs-1 {
+ width: 8.33333%; }
+
+.col-xs-2 {
+ width: 16.66667%; }
+
+.col-xs-3 {
+ width: 25%; }
+
+.col-xs-4 {
+ width: 33.33333%; }
+
+.col-xs-5 {
+ width: 41.66667%; }
+
+.col-xs-6 {
+ width: 50%; }
+
+.col-xs-7 {
+ width: 58.33333%; }
+
+.col-xs-8 {
+ width: 66.66667%; }
+
+.col-xs-9 {
+ width: 75%; }
+
+.col-xs-10 {
+ width: 83.33333%; }
+
+.col-xs-11 {
+ width: 91.66667%; }
+
+.col-xs-12 {
+ width: 100%; }
+
+.col-xs-pull-0 {
+ right: auto; }
+
+.col-xs-pull-1 {
+ right: 8.33333%; }
+
+.col-xs-pull-2 {
+ right: 16.66667%; }
+
+.col-xs-pull-3 {
+ right: 25%; }
+
+.col-xs-pull-4 {
+ right: 33.33333%; }
+
+.col-xs-pull-5 {
+ right: 41.66667%; }
+
+.col-xs-pull-6 {
+ right: 50%; }
+
+.col-xs-pull-7 {
+ right: 58.33333%; }
+
+.col-xs-pull-8 {
+ right: 66.66667%; }
+
+.col-xs-pull-9 {
+ right: 75%; }
+
+.col-xs-pull-10 {
+ right: 83.33333%; }
+
+.col-xs-pull-11 {
+ right: 91.66667%; }
+
+.col-xs-pull-12 {
+ right: 100%; }
+
+.col-xs-push-0 {
+ left: auto; }
+
+.col-xs-push-1 {
+ left: 8.33333%; }
+
+.col-xs-push-2 {
+ left: 16.66667%; }
+
+.col-xs-push-3 {
+ left: 25%; }
+
+.col-xs-push-4 {
+ left: 33.33333%; }
+
+.col-xs-push-5 {
+ left: 41.66667%; }
+
+.col-xs-push-6 {
+ left: 50%; }
+
+.col-xs-push-7 {
+ left: 58.33333%; }
+
+.col-xs-push-8 {
+ left: 66.66667%; }
+
+.col-xs-push-9 {
+ left: 75%; }
+
+.col-xs-push-10 {
+ left: 83.33333%; }
+
+.col-xs-push-11 {
+ left: 91.66667%; }
+
+.col-xs-push-12 {
+ left: 100%; }
+
+.col-xs-offset-0 {
+ margin-left: 0%; }
+
+.col-xs-offset-1 {
+ margin-left: 8.33333%; }
+
+.col-xs-offset-2 {
+ margin-left: 16.66667%; }
+
+.col-xs-offset-3 {
+ margin-left: 25%; }
+
+.col-xs-offset-4 {
+ margin-left: 33.33333%; }
+
+.col-xs-offset-5 {
+ margin-left: 41.66667%; }
+
+.col-xs-offset-6 {
+ margin-left: 50%; }
+
+.col-xs-offset-7 {
+ margin-left: 58.33333%; }
+
+.col-xs-offset-8 {
+ margin-left: 66.66667%; }
+
+.col-xs-offset-9 {
+ margin-left: 75%; }
+
+.col-xs-offset-10 {
+ margin-left: 83.33333%; }
+
+.col-xs-offset-11 {
+ margin-left: 91.66667%; }
+
+.col-xs-offset-12 {
+ margin-left: 100%; }
+
+@media (min-width: 768px) {
+ .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
+ float: left; }
+ .col-sm-1 {
+ width: 8.33333%; }
+ .col-sm-2 {
+ width: 16.66667%; }
+ .col-sm-3 {
+ width: 25%; }
+ .col-sm-4 {
+ width: 33.33333%; }
+ .col-sm-5 {
+ width: 41.66667%; }
+ .col-sm-6 {
+ width: 50%; }
+ .col-sm-7 {
+ width: 58.33333%; }
+ .col-sm-8 {
+ width: 66.66667%; }
+ .col-sm-9 {
+ width: 75%; }
+ .col-sm-10 {
+ width: 83.33333%; }
+ .col-sm-11 {
+ width: 91.66667%; }
+ .col-sm-12 {
+ width: 100%; }
+ .col-sm-pull-0 {
+ right: auto; }
+ .col-sm-pull-1 {
+ right: 8.33333%; }
+ .col-sm-pull-2 {
+ right: 16.66667%; }
+ .col-sm-pull-3 {
+ right: 25%; }
+ .col-sm-pull-4 {
+ right: 33.33333%; }
+ .col-sm-pull-5 {
+ right: 41.66667%; }
+ .col-sm-pull-6 {
+ right: 50%; }
+ .col-sm-pull-7 {
+ right: 58.33333%; }
+ .col-sm-pull-8 {
+ right: 66.66667%; }
+ .col-sm-pull-9 {
+ right: 75%; }
+ .col-sm-pull-10 {
+ right: 83.33333%; }
+ .col-sm-pull-11 {
+ right: 91.66667%; }
+ .col-sm-pull-12 {
+ right: 100%; }
+ .col-sm-push-0 {
+ left: auto; }
+ .col-sm-push-1 {
+ left: 8.33333%; }
+ .col-sm-push-2 {
+ left: 16.66667%; }
+ .col-sm-push-3 {
+ left: 25%; }
+ .col-sm-push-4 {
+ left: 33.33333%; }
+ .col-sm-push-5 {
+ left: 41.66667%; }
+ .col-sm-push-6 {
+ left: 50%; }
+ .col-sm-push-7 {
+ left: 58.33333%; }
+ .col-sm-push-8 {
+ left: 66.66667%; }
+ .col-sm-push-9 {
+ left: 75%; }
+ .col-sm-push-10 {
+ left: 83.33333%; }
+ .col-sm-push-11 {
+ left: 91.66667%; }
+ .col-sm-push-12 {
+ left: 100%; }
+ .col-sm-offset-0 {
+ margin-left: 0%; }
+ .col-sm-offset-1 {
+ margin-left: 8.33333%; }
+ .col-sm-offset-2 {
+ margin-left: 16.66667%; }
+ .col-sm-offset-3 {
+ margin-left: 25%; }
+ .col-sm-offset-4 {
+ margin-left: 33.33333%; }
+ .col-sm-offset-5 {
+ margin-left: 41.66667%; }
+ .col-sm-offset-6 {
+ margin-left: 50%; }
+ .col-sm-offset-7 {
+ margin-left: 58.33333%; }
+ .col-sm-offset-8 {
+ margin-left: 66.66667%; }
+ .col-sm-offset-9 {
+ margin-left: 75%; }
+ .col-sm-offset-10 {
+ margin-left: 83.33333%; }
+ .col-sm-offset-11 {
+ margin-left: 91.66667%; }
+ .col-sm-offset-12 {
+ margin-left: 100%; } }
+
+@media (min-width: 992px) {
+ .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
+ float: left; }
+ .col-md-1 {
+ width: 8.33333%; }
+ .col-md-2 {
+ width: 16.66667%; }
+ .col-md-3 {
+ width: 25%; }
+ .col-md-4 {
+ width: 33.33333%; }
+ .col-md-5 {
+ width: 41.66667%; }
+ .col-md-6 {
+ width: 50%; }
+ .col-md-7 {
+ width: 58.33333%; }
+ .col-md-8 {
+ width: 66.66667%; }
+ .col-md-9 {
+ width: 75%; }
+ .col-md-10 {
+ width: 83.33333%; }
+ .col-md-11 {
+ width: 91.66667%; }
+ .col-md-12 {
+ width: 100%; }
+ .col-md-pull-0 {
+ right: auto; }
+ .col-md-pull-1 {
+ right: 8.33333%; }
+ .col-md-pull-2 {
+ right: 16.66667%; }
+ .col-md-pull-3 {
+ right: 25%; }
+ .col-md-pull-4 {
+ right: 33.33333%; }
+ .col-md-pull-5 {
+ right: 41.66667%; }
+ .col-md-pull-6 {
+ right: 50%; }
+ .col-md-pull-7 {
+ right: 58.33333%; }
+ .col-md-pull-8 {
+ right: 66.66667%; }
+ .col-md-pull-9 {
+ right: 75%; }
+ .col-md-pull-10 {
+ right: 83.33333%; }
+ .col-md-pull-11 {
+ right: 91.66667%; }
+ .col-md-pull-12 {
+ right: 100%; }
+ .col-md-push-0 {
+ left: auto; }
+ .col-md-push-1 {
+ left: 8.33333%; }
+ .col-md-push-2 {
+ left: 16.66667%; }
+ .col-md-push-3 {
+ left: 25%; }
+ .col-md-push-4 {
+ left: 33.33333%; }
+ .col-md-push-5 {
+ left: 41.66667%; }
+ .col-md-push-6 {
+ left: 50%; }
+ .col-md-push-7 {
+ left: 58.33333%; }
+ .col-md-push-8 {
+ left: 66.66667%; }
+ .col-md-push-9 {
+ left: 75%; }
+ .col-md-push-10 {
+ left: 83.33333%; }
+ .col-md-push-11 {
+ left: 91.66667%; }
+ .col-md-push-12 {
+ left: 100%; }
+ .col-md-offset-0 {
+ margin-left: 0%; }
+ .col-md-offset-1 {
+ margin-left: 8.33333%; }
+ .col-md-offset-2 {
+ margin-left: 16.66667%; }
+ .col-md-offset-3 {
+ margin-left: 25%; }
+ .col-md-offset-4 {
+ margin-left: 33.33333%; }
+ .col-md-offset-5 {
+ margin-left: 41.66667%; }
+ .col-md-offset-6 {
+ margin-left: 50%; }
+ .col-md-offset-7 {
+ margin-left: 58.33333%; }
+ .col-md-offset-8 {
+ margin-left: 66.66667%; }
+ .col-md-offset-9 {
+ margin-left: 75%; }
+ .col-md-offset-10 {
+ margin-left: 83.33333%; }
+ .col-md-offset-11 {
+ margin-left: 91.66667%; }
+ .col-md-offset-12 {
+ margin-left: 100%; } }
+
+@media (min-width: 1200px) {
+ .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
+ float: left; }
+ .col-lg-1 {
+ width: 8.33333%; }
+ .col-lg-2 {
+ width: 16.66667%; }
+ .col-lg-3 {
+ width: 25%; }
+ .col-lg-4 {
+ width: 33.33333%; }
+ .col-lg-5 {
+ width: 41.66667%; }
+ .col-lg-6 {
+ width: 50%; }
+ .col-lg-7 {
+ width: 58.33333%; }
+ .col-lg-8 {
+ width: 66.66667%; }
+ .col-lg-9 {
+ width: 75%; }
+ .col-lg-10 {
+ width: 83.33333%; }
+ .col-lg-11 {
+ width: 91.66667%; }
+ .col-lg-12 {
+ width: 100%; }
+ .col-lg-pull-0 {
+ right: auto; }
+ .col-lg-pull-1 {
+ right: 8.33333%; }
+ .col-lg-pull-2 {
+ right: 16.66667%; }
+ .col-lg-pull-3 {
+ right: 25%; }
+ .col-lg-pull-4 {
+ right: 33.33333%; }
+ .col-lg-pull-5 {
+ right: 41.66667%; }
+ .col-lg-pull-6 {
+ right: 50%; }
+ .col-lg-pull-7 {
+ right: 58.33333%; }
+ .col-lg-pull-8 {
+ right: 66.66667%; }
+ .col-lg-pull-9 {
+ right: 75%; }
+ .col-lg-pull-10 {
+ right: 83.33333%; }
+ .col-lg-pull-11 {
+ right: 91.66667%; }
+ .col-lg-pull-12 {
+ right: 100%; }
+ .col-lg-push-0 {
+ left: auto; }
+ .col-lg-push-1 {
+ left: 8.33333%; }
+ .col-lg-push-2 {
+ left: 16.66667%; }
+ .col-lg-push-3 {
+ left: 25%; }
+ .col-lg-push-4 {
+ left: 33.33333%; }
+ .col-lg-push-5 {
+ left: 41.66667%; }
+ .col-lg-push-6 {
+ left: 50%; }
+ .col-lg-push-7 {
+ left: 58.33333%; }
+ .col-lg-push-8 {
+ left: 66.66667%; }
+ .col-lg-push-9 {
+ left: 75%; }
+ .col-lg-push-10 {
+ left: 83.33333%; }
+ .col-lg-push-11 {
+ left: 91.66667%; }
+ .col-lg-push-12 {
+ left: 100%; }
+ .col-lg-offset-0 {
+ margin-left: 0%; }
+ .col-lg-offset-1 {
+ margin-left: 8.33333%; }
+ .col-lg-offset-2 {
+ margin-left: 16.66667%; }
+ .col-lg-offset-3 {
+ margin-left: 25%; }
+ .col-lg-offset-4 {
+ margin-left: 33.33333%; }
+ .col-lg-offset-5 {
+ margin-left: 41.66667%; }
+ .col-lg-offset-6 {
+ margin-left: 50%; }
+ .col-lg-offset-7 {
+ margin-left: 58.33333%; }
+ .col-lg-offset-8 {
+ margin-left: 66.66667%; }
+ .col-lg-offset-9 {
+ margin-left: 75%; }
+ .col-lg-offset-10 {
+ margin-left: 83.33333%; }
+ .col-lg-offset-11 {
+ margin-left: 91.66667%; }
+ .col-lg-offset-12 {
+ margin-left: 100%; } }
+
+table {
+ background-color: transparent; }
+
+caption {
+ padding-top: 8px;
+ padding-bottom: 8px;
+ color: #777777;
+ text-align: left; }
+
+th {
+ text-align: left; }
+
+.table {
+ width: 100%;
+ max-width: 100%;
+ margin-bottom: 20px; }
+ .table > thead > tr > th,
+ .table > thead > tr > td,
+ .table > tbody > tr > th,
+ .table > tbody > tr > td,
+ .table > tfoot > tr > th,
+ .table > tfoot > tr > td {
+ padding: 8px;
+ line-height: 1.42857;
+ vertical-align: top;
+ border-top: 1px solid #ddd; }
+ .table > thead > tr > th {
+ vertical-align: bottom;
+ border-bottom: 2px solid #ddd; }
+ .table > caption + thead > tr:first-child > th,
+ .table > caption + thead > tr:first-child > td,
+ .table > colgroup + thead > tr:first-child > th,
+ .table > colgroup + thead > tr:first-child > td,
+ .table > thead:first-child > tr:first-child > th,
+ .table > thead:first-child > tr:first-child > td {
+ border-top: 0; }
+ .table > tbody + tbody {
+ border-top: 2px solid #ddd; }
+ .table .table {
+ background-color: #fff; }
+
+.table-condensed > thead > tr > th,
+.table-condensed > thead > tr > td,
+.table-condensed > tbody > tr > th,
+.table-condensed > tbody > tr > td,
+.table-condensed > tfoot > tr > th,
+.table-condensed > tfoot > tr > td {
+ padding: 5px; }
+
+.table-bordered {
+ border: 1px solid #ddd; }
+ .table-bordered > thead > tr > th,
+ .table-bordered > thead > tr > td,
+ .table-bordered > tbody > tr > th,
+ .table-bordered > tbody > tr > td,
+ .table-bordered > tfoot > tr > th,
+ .table-bordered > tfoot > tr > td {
+ border: 1px solid #ddd; }
+ .table-bordered > thead > tr > th,
+ .table-bordered > thead > tr > td {
+ border-bottom-width: 2px; }
+
+.table-striped > tbody > tr:nth-of-type(odd) {
+ background-color: #f9f9f9; }
+
+.table-hover > tbody > tr:hover {
+ background-color: #f5f5f5; }
+
+table col[class*="col-"] {
+ position: static;
+ float: none;
+ display: table-column; }
+
+table td[class*="col-"],
+table th[class*="col-"] {
+ position: static;
+ float: none;
+ display: table-cell; }
+
+.table > thead > tr > td.active,
+.table > thead > tr > th.active,
+.table > thead > tr.active > td,
+.table > thead > tr.active > th,
+.table > tbody > tr > td.active,
+.table > tbody > tr > th.active,
+.table > tbody > tr.active > td,
+.table > tbody > tr.active > th,
+.table > tfoot > tr > td.active,
+.table > tfoot > tr > th.active,
+.table > tfoot > tr.active > td,
+.table > tfoot > tr.active > th {
+ background-color: #f5f5f5; }
+
+.table-hover > tbody > tr > td.active:hover,
+.table-hover > tbody > tr > th.active:hover,
+.table-hover > tbody > tr.active:hover > td,
+.table-hover > tbody > tr:hover > .active,
+.table-hover > tbody > tr.active:hover > th {
+ background-color: #e8e8e8; }
+
+.table > thead > tr > td.success,
+.table > thead > tr > th.success,
+.table > thead > tr.success > td,
+.table > thead > tr.success > th,
+.table > tbody > tr > td.success,
+.table > tbody > tr > th.success,
+.table > tbody > tr.success > td,
+.table > tbody > tr.success > th,
+.table > tfoot > tr > td.success,
+.table > tfoot > tr > th.success,
+.table > tfoot > tr.success > td,
+.table > tfoot > tr.success > th {
+ background-color: #dff0d8; }
+
+.table-hover > tbody > tr > td.success:hover,
+.table-hover > tbody > tr > th.success:hover,
+.table-hover > tbody > tr.success:hover > td,
+.table-hover > tbody > tr:hover > .success,
+.table-hover > tbody > tr.success:hover > th {
+ background-color: #d0e9c6; }
+
+.table > thead > tr > td.info,
+.table > thead > tr > th.info,
+.table > thead > tr.info > td,
+.table > thead > tr.info > th,
+.table > tbody > tr > td.info,
+.table > tbody > tr > th.info,
+.table > tbody > tr.info > td,
+.table > tbody > tr.info > th,
+.table > tfoot > tr > td.info,
+.table > tfoot > tr > th.info,
+.table > tfoot > tr.info > td,
+.table > tfoot > tr.info > th {
+ background-color: #d9edf7; }
+
+.table-hover > tbody > tr > td.info:hover,
+.table-hover > tbody > tr > th.info:hover,
+.table-hover > tbody > tr.info:hover > td,
+.table-hover > tbody > tr:hover > .info,
+.table-hover > tbody > tr.info:hover > th {
+ background-color: #c4e3f3; }
+
+.table > thead > tr > td.warning,
+.table > thead > tr > th.warning,
+.table > thead > tr.warning > td,
+.table > thead > tr.warning > th,
+.table > tbody > tr > td.warning,
+.table > tbody > tr > th.warning,
+.table > tbody > tr.warning > td,
+.table > tbody > tr.warning > th,
+.table > tfoot > tr > td.warning,
+.table > tfoot > tr > th.warning,
+.table > tfoot > tr.warning > td,
+.table > tfoot > tr.warning > th {
+ background-color: #fcf8e3; }
+
+.table-hover > tbody > tr > td.warning:hover,
+.table-hover > tbody > tr > th.warning:hover,
+.table-hover > tbody > tr.warning:hover > td,
+.table-hover > tbody > tr:hover > .warning,
+.table-hover > tbody > tr.warning:hover > th {
+ background-color: #faf2cc; }
+
+.table > thead > tr > td.danger,
+.table > thead > tr > th.danger,
+.table > thead > tr.danger > td,
+.table > thead > tr.danger > th,
+.table > tbody > tr > td.danger,
+.table > tbody > tr > th.danger,
+.table > tbody > tr.danger > td,
+.table > tbody > tr.danger > th,
+.table > tfoot > tr > td.danger,
+.table > tfoot > tr > th.danger,
+.table > tfoot > tr.danger > td,
+.table > tfoot > tr.danger > th {
+ background-color: #f2dede; }
+
+.table-hover > tbody > tr > td.danger:hover,
+.table-hover > tbody > tr > th.danger:hover,
+.table-hover > tbody > tr.danger:hover > td,
+.table-hover > tbody > tr:hover > .danger,
+.table-hover > tbody > tr.danger:hover > th {
+ background-color: #ebcccc; }
+
+.table-responsive {
+ overflow-x: auto;
+ min-height: 0.01%; }
+ @media screen and (max-width: 767px) {
+ .table-responsive {
+ width: 100%;
+ margin-bottom: 15px;
+ overflow-y: hidden;
+ -ms-overflow-style: -ms-autohiding-scrollbar;
+ border: 1px solid #ddd; }
+ .table-responsive > .table {
+ margin-bottom: 0; }
+ .table-responsive > .table > thead > tr > th,
+ .table-responsive > .table > thead > tr > td,
+ .table-responsive > .table > tbody > tr > th,
+ .table-responsive > .table > tbody > tr > td,
+ .table-responsive > .table > tfoot > tr > th,
+ .table-responsive > .table > tfoot > tr > td {
+ white-space: nowrap; }
+ .table-responsive > .table-bordered {
+ border: 0; }
+ .table-responsive > .table-bordered > thead > tr > th:first-child,
+ .table-responsive > .table-bordered > thead > tr > td:first-child,
+ .table-responsive > .table-bordered > tbody > tr > th:first-child,
+ .table-responsive > .table-bordered > tbody > tr > td:first-child,
+ .table-responsive > .table-bordered > tfoot > tr > th:first-child,
+ .table-responsive > .table-bordered > tfoot > tr > td:first-child {
+ border-left: 0; }
+ .table-responsive > .table-bordered > thead > tr > th:last-child,
+ .table-responsive > .table-bordered > thead > tr > td:last-child,
+ .table-responsive > .table-bordered > tbody > tr > th:last-child,
+ .table-responsive > .table-bordered > tbody > tr > td:last-child,
+ .table-responsive > .table-bordered > tfoot > tr > th:last-child,
+ .table-responsive > .table-bordered > tfoot > tr > td:last-child {
+ border-right: 0; }
+ .table-responsive > .table-bordered > tbody > tr:last-child > th,
+ .table-responsive > .table-bordered > tbody > tr:last-child > td,
+ .table-responsive > .table-bordered > tfoot > tr:last-child > th,
+ .table-responsive > .table-bordered > tfoot > tr:last-child > td {
+ border-bottom: 0; } }
+
+fieldset {
+ padding: 0;
+ margin: 0;
+ border: 0;
+ min-width: 0; }
+
+legend {
+ display: block;
+ width: 100%;
+ padding: 0;
+ margin-bottom: 20px;
+ font-size: 21px;
+ line-height: inherit;
+ color: #333333;
+ border: 0;
+ border-bottom: 1px solid #e5e5e5; }
+
+label {
+ display: inline-block;
+ max-width: 100%;
+ margin-bottom: 5px;
+ font-weight: bold; }
+
+input[type="search"] {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box; }
+
+input[type="radio"],
+input[type="checkbox"] {
+ margin: 4px 0 0;
+ margin-top: 1px \9;
+ line-height: normal; }
+
+input[type="file"] {
+ display: block; }
+
+input[type="range"] {
+ display: block;
+ width: 100%; }
+
+select[multiple],
+select[size] {
+ height: auto; }
+
+input[type="file"]:focus,
+input[type="radio"]:focus,
+input[type="checkbox"]:focus {
+ outline: thin dotted;
+ outline: 5px auto -webkit-focus-ring-color;
+ outline-offset: -2px; }
+
+output {
+ display: block;
+ padding-top: 7px;
+ font-size: 14px;
+ line-height: 1.42857;
+ color: #555555; }
+
+.form-control {
+ display: block;
+ width: 100%;
+ height: 34px;
+ padding: 6px 12px;
+ font-size: 14px;
+ line-height: 1.42857;
+ color: #555555;
+ background-color: #fff;
+ background-image: none;
+ border: 1px solid #ccc;
+ border-radius: 4px;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
+ -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
+ transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; }
+ .form-control:focus {
+ border-color: #66afe9;
+ outline: 0;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); }
+ .form-control::-moz-placeholder {
+ color: #999;
+ opacity: 1; }
+ .form-control:-ms-input-placeholder {
+ color: #999; }
+ .form-control::-webkit-input-placeholder {
+ color: #999; }
+ .form-control::-ms-expand {
+ border: 0;
+ background-color: transparent; }
+ .form-control[disabled], .form-control[readonly],
+ fieldset[disabled] .form-control {
+ background-color: #eeeeee;
+ opacity: 1; }
+ .form-control[disabled],
+ fieldset[disabled] .form-control {
+ cursor: not-allowed; }
+
+textarea.form-control {
+ height: auto; }
+
+input[type="search"] {
+ -webkit-appearance: none; }
+
+@media screen and (-webkit-min-device-pixel-ratio: 0) {
+ input[type="date"].form-control,
+ input[type="time"].form-control,
+ input[type="datetime-local"].form-control,
+ input[type="month"].form-control {
+ line-height: 34px; }
+ input[type="date"].input-sm, .input-group-sm > input[type="date"].form-control,
+ .input-group-sm > input[type="date"].input-group-addon,
+ .input-group-sm > .input-group-btn > input[type="date"].btn,
+ .input-group-sm input[type="date"],
+ input[type="time"].input-sm,
+ .input-group-sm > input[type="time"].form-control,
+ .input-group-sm > input[type="time"].input-group-addon,
+ .input-group-sm > .input-group-btn > input[type="time"].btn,
+ .input-group-sm
+ input[type="time"],
+ input[type="datetime-local"].input-sm,
+ .input-group-sm > input[type="datetime-local"].form-control,
+ .input-group-sm > input[type="datetime-local"].input-group-addon,
+ .input-group-sm > .input-group-btn > input[type="datetime-local"].btn,
+ .input-group-sm
+ input[type="datetime-local"],
+ input[type="month"].input-sm,
+ .input-group-sm > input[type="month"].form-control,
+ .input-group-sm > input[type="month"].input-group-addon,
+ .input-group-sm > .input-group-btn > input[type="month"].btn,
+ .input-group-sm
+ input[type="month"] {
+ line-height: 30px; }
+ input[type="date"].input-lg, .input-group-lg > input[type="date"].form-control,
+ .input-group-lg > input[type="date"].input-group-addon,
+ .input-group-lg > .input-group-btn > input[type="date"].btn,
+ .input-group-lg input[type="date"],
+ input[type="time"].input-lg,
+ .input-group-lg > input[type="time"].form-control,
+ .input-group-lg > input[type="time"].input-group-addon,
+ .input-group-lg > .input-group-btn > input[type="time"].btn,
+ .input-group-lg
+ input[type="time"],
+ input[type="datetime-local"].input-lg,
+ .input-group-lg > input[type="datetime-local"].form-control,
+ .input-group-lg > input[type="datetime-local"].input-group-addon,
+ .input-group-lg > .input-group-btn > input[type="datetime-local"].btn,
+ .input-group-lg
+ input[type="datetime-local"],
+ input[type="month"].input-lg,
+ .input-group-lg > input[type="month"].form-control,
+ .input-group-lg > input[type="month"].input-group-addon,
+ .input-group-lg > .input-group-btn > input[type="month"].btn,
+ .input-group-lg
+ input[type="month"] {
+ line-height: 46px; } }
+
+.form-group {
+ margin-bottom: 15px; }
+
+.radio,
+.checkbox {
+ position: relative;
+ display: block;
+ margin-top: 10px;
+ margin-bottom: 10px; }
+ .radio label,
+ .checkbox label {
+ min-height: 20px;
+ padding-left: 20px;
+ margin-bottom: 0;
+ font-weight: normal;
+ cursor: pointer; }
+
+.radio input[type="radio"],
+.radio-inline input[type="radio"],
+.checkbox input[type="checkbox"],
+.checkbox-inline input[type="checkbox"] {
+ position: absolute;
+ margin-left: -20px;
+ margin-top: 4px \9; }
+
+.radio + .radio,
+.checkbox + .checkbox {
+ margin-top: -5px; }
+
+.radio-inline,
+.checkbox-inline {
+ position: relative;
+ display: inline-block;
+ padding-left: 20px;
+ margin-bottom: 0;
+ vertical-align: middle;
+ font-weight: normal;
+ cursor: pointer; }
+
+.radio-inline + .radio-inline,
+.checkbox-inline + .checkbox-inline {
+ margin-top: 0;
+ margin-left: 10px; }
+
+input[type="radio"][disabled], input[type="radio"].disabled,
+fieldset[disabled] input[type="radio"],
+input[type="checkbox"][disabled],
+input[type="checkbox"].disabled,
+fieldset[disabled]
+input[type="checkbox"] {
+ cursor: not-allowed; }
+
+.radio-inline.disabled,
+fieldset[disabled] .radio-inline,
+.checkbox-inline.disabled,
+fieldset[disabled]
+.checkbox-inline {
+ cursor: not-allowed; }
+
+.radio.disabled label,
+fieldset[disabled] .radio label,
+.checkbox.disabled label,
+fieldset[disabled]
+.checkbox label {
+ cursor: not-allowed; }
+
+.form-control-static {
+ padding-top: 7px;
+ padding-bottom: 7px;
+ margin-bottom: 0;
+ min-height: 34px; }
+ .form-control-static.input-lg, .input-group-lg > .form-control-static.form-control,
+ .input-group-lg > .form-control-static.input-group-addon,
+ .input-group-lg > .input-group-btn > .form-control-static.btn, .form-control-static.input-sm, .input-group-sm > .form-control-static.form-control,
+ .input-group-sm > .form-control-static.input-group-addon,
+ .input-group-sm > .input-group-btn > .form-control-static.btn {
+ padding-left: 0;
+ padding-right: 0; }
+
+.input-sm, .input-group-sm > .form-control,
+.input-group-sm > .input-group-addon,
+.input-group-sm > .input-group-btn > .btn {
+ height: 30px;
+ padding: 5px 10px;
+ font-size: 12px;
+ line-height: 1.5;
+ border-radius: 3px; }
+
+select.input-sm, .input-group-sm > select.form-control,
+.input-group-sm > select.input-group-addon,
+.input-group-sm > .input-group-btn > select.btn {
+ height: 30px;
+ line-height: 30px; }
+
+textarea.input-sm, .input-group-sm > textarea.form-control,
+.input-group-sm > textarea.input-group-addon,
+.input-group-sm > .input-group-btn > textarea.btn,
+select[multiple].input-sm,
+.input-group-sm > select[multiple].form-control,
+.input-group-sm > select[multiple].input-group-addon,
+.input-group-sm > .input-group-btn > select[multiple].btn {
+ height: auto; }
+
+.form-group-sm .form-control {
+ height: 30px;
+ padding: 5px 10px;
+ font-size: 12px;
+ line-height: 1.5;
+ border-radius: 3px; }
+
+.form-group-sm select.form-control {
+ height: 30px;
+ line-height: 30px; }
+
+.form-group-sm textarea.form-control,
+.form-group-sm select[multiple].form-control {
+ height: auto; }
+
+.form-group-sm .form-control-static {
+ height: 30px;
+ min-height: 32px;
+ padding: 6px 10px;
+ font-size: 12px;
+ line-height: 1.5; }
+
+.input-lg, .input-group-lg > .form-control,
+.input-group-lg > .input-group-addon,
+.input-group-lg > .input-group-btn > .btn {
+ height: 46px;
+ padding: 10px 16px;
+ font-size: 18px;
+ line-height: 1.33333;
+ border-radius: 6px; }
+
+select.input-lg, .input-group-lg > select.form-control,
+.input-group-lg > select.input-group-addon,
+.input-group-lg > .input-group-btn > select.btn {
+ height: 46px;
+ line-height: 46px; }
+
+textarea.input-lg, .input-group-lg > textarea.form-control,
+.input-group-lg > textarea.input-group-addon,
+.input-group-lg > .input-group-btn > textarea.btn,
+select[multiple].input-lg,
+.input-group-lg > select[multiple].form-control,
+.input-group-lg > select[multiple].input-group-addon,
+.input-group-lg > .input-group-btn > select[multiple].btn {
+ height: auto; }
+
+.form-group-lg .form-control {
+ height: 46px;
+ padding: 10px 16px;
+ font-size: 18px;
+ line-height: 1.33333;
+ border-radius: 6px; }
+
+.form-group-lg select.form-control {
+ height: 46px;
+ line-height: 46px; }
+
+.form-group-lg textarea.form-control,
+.form-group-lg select[multiple].form-control {
+ height: auto; }
+
+.form-group-lg .form-control-static {
+ height: 46px;
+ min-height: 38px;
+ padding: 11px 16px;
+ font-size: 18px;
+ line-height: 1.33333; }
+
+.has-feedback {
+ position: relative; }
+ .has-feedback .form-control {
+ padding-right: 42.5px; }
+
+.form-control-feedback {
+ position: absolute;
+ top: 0;
+ right: 0;
+ z-index: 2;
+ display: block;
+ width: 34px;
+ height: 34px;
+ line-height: 34px;
+ text-align: center;
+ pointer-events: none; }
+
+.input-lg + .form-control-feedback, .input-group-lg > .form-control + .form-control-feedback,
+.input-group-lg > .input-group-addon + .form-control-feedback,
+.input-group-lg > .input-group-btn > .btn + .form-control-feedback,
+.input-group-lg + .form-control-feedback,
+.form-group-lg .form-control + .form-control-feedback {
+ width: 46px;
+ height: 46px;
+ line-height: 46px; }
+
+.input-sm + .form-control-feedback, .input-group-sm > .form-control + .form-control-feedback,
+.input-group-sm > .input-group-addon + .form-control-feedback,
+.input-group-sm > .input-group-btn > .btn + .form-control-feedback,
+.input-group-sm + .form-control-feedback,
+.form-group-sm .form-control + .form-control-feedback {
+ width: 30px;
+ height: 30px;
+ line-height: 30px; }
+
+.has-success .help-block,
+.has-success .control-label,
+.has-success .radio,
+.has-success .checkbox,
+.has-success .radio-inline,
+.has-success .checkbox-inline,
+.has-success.radio label,
+.has-success.checkbox label,
+.has-success.radio-inline label,
+.has-success.checkbox-inline label {
+ color: #3c763d; }
+
+.has-success .form-control {
+ border-color: #3c763d;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
+ .has-success .form-control:focus {
+ border-color: #2b542c;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; }
+
+.has-success .input-group-addon {
+ color: #3c763d;
+ border-color: #3c763d;
+ background-color: #dff0d8; }
+
+.has-success .form-control-feedback {
+ color: #3c763d; }
+
+.has-warning .help-block,
+.has-warning .control-label,
+.has-warning .radio,
+.has-warning .checkbox,
+.has-warning .radio-inline,
+.has-warning .checkbox-inline,
+.has-warning.radio label,
+.has-warning.checkbox label,
+.has-warning.radio-inline label,
+.has-warning.checkbox-inline label {
+ color: #8a6d3b; }
+
+.has-warning .form-control {
+ border-color: #8a6d3b;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
+ .has-warning .form-control:focus {
+ border-color: #66512c;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; }
+
+.has-warning .input-group-addon {
+ color: #8a6d3b;
+ border-color: #8a6d3b;
+ background-color: #fcf8e3; }
+
+.has-warning .form-control-feedback {
+ color: #8a6d3b; }
+
+.has-error .help-block,
+.has-error .control-label,
+.has-error .radio,
+.has-error .checkbox,
+.has-error .radio-inline,
+.has-error .checkbox-inline,
+.has-error.radio label,
+.has-error.checkbox label,
+.has-error.radio-inline label,
+.has-error.checkbox-inline label {
+ color: #a94442; }
+
+.has-error .form-control {
+ border-color: #a94442;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
+ .has-error .form-control:focus {
+ border-color: #843534;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; }
+
+.has-error .input-group-addon {
+ color: #a94442;
+ border-color: #a94442;
+ background-color: #f2dede; }
+
+.has-error .form-control-feedback {
+ color: #a94442; }
+
+.has-feedback label ~ .form-control-feedback {
+ top: 25px; }
+
+.has-feedback label.sr-only ~ .form-control-feedback {
+ top: 0; }
+
+.help-block {
+ display: block;
+ margin-top: 5px;
+ margin-bottom: 10px;
+ color: #737373; }
+
+@media (min-width: 768px) {
+ .form-inline .form-group {
+ display: inline-block;
+ margin-bottom: 0;
+ vertical-align: middle; }
+ .form-inline .form-control {
+ display: inline-block;
+ width: auto;
+ vertical-align: middle; }
+ .form-inline .form-control-static {
+ display: inline-block; }
+ .form-inline .input-group {
+ display: inline-table;
+ vertical-align: middle; }
+ .form-inline .input-group .input-group-addon,
+ .form-inline .input-group .input-group-btn,
+ .form-inline .input-group .form-control {
+ width: auto; }
+ .form-inline .input-group > .form-control {
+ width: 100%; }
+ .form-inline .control-label {
+ margin-bottom: 0;
+ vertical-align: middle; }
+ .form-inline .radio,
+ .form-inline .checkbox {
+ display: inline-block;
+ margin-top: 0;
+ margin-bottom: 0;
+ vertical-align: middle; }
+ .form-inline .radio label,
+ .form-inline .checkbox label {
+ padding-left: 0; }
+ .form-inline .radio input[type="radio"],
+ .form-inline .checkbox input[type="checkbox"] {
+ position: relative;
+ margin-left: 0; }
+ .form-inline .has-feedback .form-control-feedback {
+ top: 0; } }
+
+.form-horizontal .radio,
+.form-horizontal .checkbox,
+.form-horizontal .radio-inline,
+.form-horizontal .checkbox-inline {
+ margin-top: 0;
+ margin-bottom: 0;
+ padding-top: 7px; }
+
+.form-horizontal .radio,
+.form-horizontal .checkbox {
+ min-height: 27px; }
+
+.form-horizontal .form-group {
+ margin-left: -15px;
+ margin-right: -15px; }
+ .form-horizontal .form-group:before, .form-horizontal .form-group:after {
+ content: " ";
+ display: table; }
+ .form-horizontal .form-group:after {
+ clear: both; }
+
+@media (min-width: 768px) {
+ .form-horizontal .control-label {
+ text-align: right;
+ margin-bottom: 0;
+ padding-top: 7px; } }
+
+.form-horizontal .has-feedback .form-control-feedback {
+ right: 15px; }
+
+@media (min-width: 768px) {
+ .form-horizontal .form-group-lg .control-label {
+ padding-top: 11px;
+ font-size: 18px; } }
+
+@media (min-width: 768px) {
+ .form-horizontal .form-group-sm .control-label {
+ padding-top: 6px;
+ font-size: 12px; } }
+
+.btn {
+ display: inline-block;
+ margin-bottom: 0;
+ font-weight: normal;
+ text-align: center;
+ vertical-align: middle;
+ touch-action: manipulation;
+ cursor: pointer;
+ background-image: none;
+ border: 1px solid transparent;
+ white-space: nowrap;
+ padding: 6px 12px;
+ font-size: 14px;
+ line-height: 1.42857;
+ border-radius: 4px;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none; }
+ .btn:focus, .btn.focus, .btn:active:focus, .btn:active.focus, .btn.active:focus, .btn.active.focus {
+ outline: thin dotted;
+ outline: 5px auto -webkit-focus-ring-color;
+ outline-offset: -2px; }
+ .btn:hover, .btn:focus, .btn.focus {
+ color: #333;
+ text-decoration: none; }
+ .btn:active, .btn.active {
+ outline: 0;
+ background-image: none;
+ -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); }
+ .btn.disabled, .btn[disabled],
+ fieldset[disabled] .btn {
+ cursor: not-allowed;
+ opacity: 0.65;
+ filter: alpha(opacity=65);
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+
+a.btn.disabled,
+fieldset[disabled] a.btn {
+ pointer-events: none; }
+
+.btn-default {
+ color: #333;
+ background-color: #fff;
+ border-color: #ccc; }
+ .btn-default:focus, .btn-default.focus {
+ color: #333;
+ background-color: #e6e6e6;
+ border-color: #8c8c8c; }
+ .btn-default:hover {
+ color: #333;
+ background-color: #e6e6e6;
+ border-color: #adadad; }
+ .btn-default:active, .btn-default.active,
+ .open > .btn-default.dropdown-toggle {
+ color: #333;
+ background-color: #e6e6e6;
+ border-color: #adadad; }
+ .btn-default:active:hover, .btn-default:active:focus, .btn-default:active.focus, .btn-default.active:hover, .btn-default.active:focus, .btn-default.active.focus,
+ .open > .btn-default.dropdown-toggle:hover,
+ .open > .btn-default.dropdown-toggle:focus,
+ .open > .btn-default.dropdown-toggle.focus {
+ color: #333;
+ background-color: #d4d4d4;
+ border-color: #8c8c8c; }
+ .btn-default:active, .btn-default.active,
+ .open > .btn-default.dropdown-toggle {
+ background-image: none; }
+ .btn-default.disabled:hover, .btn-default.disabled:focus, .btn-default.disabled.focus, .btn-default[disabled]:hover, .btn-default[disabled]:focus, .btn-default[disabled].focus,
+ fieldset[disabled] .btn-default:hover,
+ fieldset[disabled] .btn-default:focus,
+ fieldset[disabled] .btn-default.focus {
+ background-color: #fff;
+ border-color: #ccc; }
+ .btn-default .badge {
+ color: #fff;
+ background-color: #333; }
+
+.btn-primary {
+ color: #fff;
+ background-color: #337ab7;
+ border-color: #2e6da4; }
+ .btn-primary:focus, .btn-primary.focus {
+ color: #fff;
+ background-color: #286090;
+ border-color: #122b40; }
+ .btn-primary:hover {
+ color: #fff;
+ background-color: #286090;
+ border-color: #204d74; }
+ .btn-primary:active, .btn-primary.active,
+ .open > .btn-primary.dropdown-toggle {
+ color: #fff;
+ background-color: #286090;
+ border-color: #204d74; }
+ .btn-primary:active:hover, .btn-primary:active:focus, .btn-primary:active.focus, .btn-primary.active:hover, .btn-primary.active:focus, .btn-primary.active.focus,
+ .open > .btn-primary.dropdown-toggle:hover,
+ .open > .btn-primary.dropdown-toggle:focus,
+ .open > .btn-primary.dropdown-toggle.focus {
+ color: #fff;
+ background-color: #204d74;
+ border-color: #122b40; }
+ .btn-primary:active, .btn-primary.active,
+ .open > .btn-primary.dropdown-toggle {
+ background-image: none; }
+ .btn-primary.disabled:hover, .btn-primary.disabled:focus, .btn-primary.disabled.focus, .btn-primary[disabled]:hover, .btn-primary[disabled]:focus, .btn-primary[disabled].focus,
+ fieldset[disabled] .btn-primary:hover,
+ fieldset[disabled] .btn-primary:focus,
+ fieldset[disabled] .btn-primary.focus {
+ background-color: #337ab7;
+ border-color: #2e6da4; }
+ .btn-primary .badge {
+ color: #337ab7;
+ background-color: #fff; }
+
+.btn-success {
+ color: #fff;
+ background-color: #5cb85c;
+ border-color: #4cae4c; }
+ .btn-success:focus, .btn-success.focus {
+ color: #fff;
+ background-color: #449d44;
+ border-color: #255625; }
+ .btn-success:hover {
+ color: #fff;
+ background-color: #449d44;
+ border-color: #398439; }
+ .btn-success:active, .btn-success.active,
+ .open > .btn-success.dropdown-toggle {
+ color: #fff;
+ background-color: #449d44;
+ border-color: #398439; }
+ .btn-success:active:hover, .btn-success:active:focus, .btn-success:active.focus, .btn-success.active:hover, .btn-success.active:focus, .btn-success.active.focus,
+ .open > .btn-success.dropdown-toggle:hover,
+ .open > .btn-success.dropdown-toggle:focus,
+ .open > .btn-success.dropdown-toggle.focus {
+ color: #fff;
+ background-color: #398439;
+ border-color: #255625; }
+ .btn-success:active, .btn-success.active,
+ .open > .btn-success.dropdown-toggle {
+ background-image: none; }
+ .btn-success.disabled:hover, .btn-success.disabled:focus, .btn-success.disabled.focus, .btn-success[disabled]:hover, .btn-success[disabled]:focus, .btn-success[disabled].focus,
+ fieldset[disabled] .btn-success:hover,
+ fieldset[disabled] .btn-success:focus,
+ fieldset[disabled] .btn-success.focus {
+ background-color: #5cb85c;
+ border-color: #4cae4c; }
+ .btn-success .badge {
+ color: #5cb85c;
+ background-color: #fff; }
+
+.btn-info {
+ color: #fff;
+ background-color: #5bc0de;
+ border-color: #46b8da; }
+ .btn-info:focus, .btn-info.focus {
+ color: #fff;
+ background-color: #31b0d5;
+ border-color: #1b6d85; }
+ .btn-info:hover {
+ color: #fff;
+ background-color: #31b0d5;
+ border-color: #269abc; }
+ .btn-info:active, .btn-info.active,
+ .open > .btn-info.dropdown-toggle {
+ color: #fff;
+ background-color: #31b0d5;
+ border-color: #269abc; }
+ .btn-info:active:hover, .btn-info:active:focus, .btn-info:active.focus, .btn-info.active:hover, .btn-info.active:focus, .btn-info.active.focus,
+ .open > .btn-info.dropdown-toggle:hover,
+ .open > .btn-info.dropdown-toggle:focus,
+ .open > .btn-info.dropdown-toggle.focus {
+ color: #fff;
+ background-color: #269abc;
+ border-color: #1b6d85; }
+ .btn-info:active, .btn-info.active,
+ .open > .btn-info.dropdown-toggle {
+ background-image: none; }
+ .btn-info.disabled:hover, .btn-info.disabled:focus, .btn-info.disabled.focus, .btn-info[disabled]:hover, .btn-info[disabled]:focus, .btn-info[disabled].focus,
+ fieldset[disabled] .btn-info:hover,
+ fieldset[disabled] .btn-info:focus,
+ fieldset[disabled] .btn-info.focus {
+ background-color: #5bc0de;
+ border-color: #46b8da; }
+ .btn-info .badge {
+ color: #5bc0de;
+ background-color: #fff; }
+
+.btn-warning {
+ color: #fff;
+ background-color: #f0ad4e;
+ border-color: #eea236; }
+ .btn-warning:focus, .btn-warning.focus {
+ color: #fff;
+ background-color: #ec971f;
+ border-color: #985f0d; }
+ .btn-warning:hover {
+ color: #fff;
+ background-color: #ec971f;
+ border-color: #d58512; }
+ .btn-warning:active, .btn-warning.active,
+ .open > .btn-warning.dropdown-toggle {
+ color: #fff;
+ background-color: #ec971f;
+ border-color: #d58512; }
+ .btn-warning:active:hover, .btn-warning:active:focus, .btn-warning:active.focus, .btn-warning.active:hover, .btn-warning.active:focus, .btn-warning.active.focus,
+ .open > .btn-warning.dropdown-toggle:hover,
+ .open > .btn-warning.dropdown-toggle:focus,
+ .open > .btn-warning.dropdown-toggle.focus {
+ color: #fff;
+ background-color: #d58512;
+ border-color: #985f0d; }
+ .btn-warning:active, .btn-warning.active,
+ .open > .btn-warning.dropdown-toggle {
+ background-image: none; }
+ .btn-warning.disabled:hover, .btn-warning.disabled:focus, .btn-warning.disabled.focus, .btn-warning[disabled]:hover, .btn-warning[disabled]:focus, .btn-warning[disabled].focus,
+ fieldset[disabled] .btn-warning:hover,
+ fieldset[disabled] .btn-warning:focus,
+ fieldset[disabled] .btn-warning.focus {
+ background-color: #f0ad4e;
+ border-color: #eea236; }
+ .btn-warning .badge {
+ color: #f0ad4e;
+ background-color: #fff; }
+
+.btn-danger {
+ color: #fff;
+ background-color: #d9534f;
+ border-color: #d43f3a; }
+ .btn-danger:focus, .btn-danger.focus {
+ color: #fff;
+ background-color: #c9302c;
+ border-color: #761c19; }
+ .btn-danger:hover {
+ color: #fff;
+ background-color: #c9302c;
+ border-color: #ac2925; }
+ .btn-danger:active, .btn-danger.active,
+ .open > .btn-danger.dropdown-toggle {
+ color: #fff;
+ background-color: #c9302c;
+ border-color: #ac2925; }
+ .btn-danger:active:hover, .btn-danger:active:focus, .btn-danger:active.focus, .btn-danger.active:hover, .btn-danger.active:focus, .btn-danger.active.focus,
+ .open > .btn-danger.dropdown-toggle:hover,
+ .open > .btn-danger.dropdown-toggle:focus,
+ .open > .btn-danger.dropdown-toggle.focus {
+ color: #fff;
+ background-color: #ac2925;
+ border-color: #761c19; }
+ .btn-danger:active, .btn-danger.active,
+ .open > .btn-danger.dropdown-toggle {
+ background-image: none; }
+ .btn-danger.disabled:hover, .btn-danger.disabled:focus, .btn-danger.disabled.focus, .btn-danger[disabled]:hover, .btn-danger[disabled]:focus, .btn-danger[disabled].focus,
+ fieldset[disabled] .btn-danger:hover,
+ fieldset[disabled] .btn-danger:focus,
+ fieldset[disabled] .btn-danger.focus {
+ background-color: #d9534f;
+ border-color: #d43f3a; }
+ .btn-danger .badge {
+ color: #d9534f;
+ background-color: #fff; }
+
+.btn-link {
+ color: #337ab7;
+ font-weight: normal;
+ border-radius: 0; }
+ .btn-link, .btn-link:active, .btn-link.active, .btn-link[disabled],
+ fieldset[disabled] .btn-link {
+ background-color: transparent;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ .btn-link, .btn-link:hover, .btn-link:focus, .btn-link:active {
+ border-color: transparent; }
+ .btn-link:hover, .btn-link:focus {
+ color: #23527c;
+ text-decoration: underline;
+ background-color: transparent; }
+ .btn-link[disabled]:hover, .btn-link[disabled]:focus,
+ fieldset[disabled] .btn-link:hover,
+ fieldset[disabled] .btn-link:focus {
+ color: #777777;
+ text-decoration: none; }
+
+.btn-lg, .btn-group-lg > .btn {
+ padding: 10px 16px;
+ font-size: 18px;
+ line-height: 1.33333;
+ border-radius: 6px; }
+
+.btn-sm, .btn-group-sm > .btn {
+ padding: 5px 10px;
+ font-size: 12px;
+ line-height: 1.5;
+ border-radius: 3px; }
+
+.btn-xs, .btn-group-xs > .btn {
+ padding: 1px 5px;
+ font-size: 12px;
+ line-height: 1.5;
+ border-radius: 3px; }
+
+.btn-block {
+ display: block;
+ width: 100%; }
+
+.btn-block + .btn-block {
+ margin-top: 5px; }
+
+input[type="submit"].btn-block,
+input[type="reset"].btn-block,
+input[type="button"].btn-block {
+ width: 100%; }
+
+.fade {
+ opacity: 0;
+ -webkit-transition: opacity 0.15s linear;
+ -o-transition: opacity 0.15s linear;
+ transition: opacity 0.15s linear; }
+ .fade.in {
+ opacity: 1; }
+
+.collapse {
+ display: none; }
+ .collapse.in {
+ display: block; }
+
+tr.collapse.in {
+ display: table-row; }
+
+tbody.collapse.in {
+ display: table-row-group; }
+
+.collapsing {
+ position: relative;
+ height: 0;
+ overflow: hidden;
+ -webkit-transition-property: height, visibility;
+ transition-property: height, visibility;
+ -webkit-transition-duration: 0.35s;
+ transition-duration: 0.35s;
+ -webkit-transition-timing-function: ease;
+ transition-timing-function: ease; }
+
+.caret {
+ display: inline-block;
+ width: 0;
+ height: 0;
+ margin-left: 2px;
+ vertical-align: middle;
+ border-top: 4px dashed;
+ border-top: 4px solid \9;
+ border-right: 4px solid transparent;
+ border-left: 4px solid transparent; }
+
+.dropup,
+.dropdown {
+ position: relative; }
+
+.dropdown-toggle:focus {
+ outline: 0; }
+
+.dropdown-menu {
+ position: absolute;
+ top: 100%;
+ left: 0;
+ z-index: 1000;
+ display: none;
+ float: left;
+ min-width: 160px;
+ padding: 5px 0;
+ margin: 2px 0 0;
+ list-style: none;
+ font-size: 14px;
+ text-align: left;
+ background-color: #fff;
+ border: 1px solid #ccc;
+ border: 1px solid rgba(0, 0, 0, 0.15);
+ border-radius: 4px;
+ -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
+ box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
+ background-clip: padding-box; }
+ .dropdown-menu.pull-right {
+ right: 0;
+ left: auto; }
+ .dropdown-menu .divider {
+ height: 1px;
+ margin: 9px 0;
+ overflow: hidden;
+ background-color: #e5e5e5; }
+ .dropdown-menu > li > a {
+ display: block;
+ padding: 3px 20px;
+ clear: both;
+ font-weight: normal;
+ line-height: 1.42857;
+ color: #333333;
+ white-space: nowrap; }
+
+.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus {
+ text-decoration: none;
+ color: #262626;
+ background-color: #f5f5f5; }
+
+.dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus {
+ color: #fff;
+ text-decoration: none;
+ outline: 0;
+ background-color: #337ab7; }
+
+.dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus {
+ color: #777777; }
+
+.dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus {
+ text-decoration: none;
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+ cursor: not-allowed; }
+
+.open > .dropdown-menu {
+ display: block; }
+
+.open > a {
+ outline: 0; }
+
+.dropdown-menu-right {
+ left: auto;
+ right: 0; }
+
+.dropdown-menu-left {
+ left: 0;
+ right: auto; }
+
+.dropdown-header {
+ display: block;
+ padding: 3px 20px;
+ font-size: 12px;
+ line-height: 1.42857;
+ color: #777777;
+ white-space: nowrap; }
+
+.dropdown-backdrop {
+ position: fixed;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ top: 0;
+ z-index: 990; }
+
+.pull-right > .dropdown-menu {
+ right: 0;
+ left: auto; }
+
+.dropup .caret,
+.navbar-fixed-bottom .dropdown .caret {
+ border-top: 0;
+ border-bottom: 4px dashed;
+ border-bottom: 4px solid \9;
+ content: ""; }
+
+.dropup .dropdown-menu,
+.navbar-fixed-bottom .dropdown .dropdown-menu {
+ top: auto;
+ bottom: 100%;
+ margin-bottom: 2px; }
+
+@media (min-width: 768px) {
+ .navbar-right .dropdown-menu {
+ right: 0;
+ left: auto; }
+ .navbar-right .dropdown-menu-left {
+ left: 0;
+ right: auto; } }
+
+.btn-group,
+.btn-group-vertical {
+ position: relative;
+ display: inline-block;
+ vertical-align: middle; }
+ .btn-group > .btn,
+ .btn-group-vertical > .btn {
+ position: relative;
+ float: left; }
+ .btn-group > .btn:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,
+ .btn-group-vertical > .btn:hover,
+ .btn-group-vertical > .btn:focus,
+ .btn-group-vertical > .btn:active,
+ .btn-group-vertical > .btn.active {
+ z-index: 2; }
+
+.btn-group .btn + .btn,
+.btn-group .btn + .btn-group,
+.btn-group .btn-group + .btn,
+.btn-group .btn-group + .btn-group {
+ margin-left: -1px; }
+
+.btn-toolbar {
+ margin-left: -5px; }
+ .btn-toolbar:before, .btn-toolbar:after {
+ content: " ";
+ display: table; }
+ .btn-toolbar:after {
+ clear: both; }
+ .btn-toolbar .btn,
+ .btn-toolbar .btn-group,
+ .btn-toolbar .input-group {
+ float: left; }
+ .btn-toolbar > .btn,
+ .btn-toolbar > .btn-group,
+ .btn-toolbar > .input-group {
+ margin-left: 5px; }
+
+.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
+ border-radius: 0; }
+
+.btn-group > .btn:first-child {
+ margin-left: 0; }
+ .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
+ border-bottom-right-radius: 0;
+ border-top-right-radius: 0; }
+
+.btn-group > .btn:last-child:not(:first-child),
+.btn-group > .dropdown-toggle:not(:first-child) {
+ border-bottom-left-radius: 0;
+ border-top-left-radius: 0; }
+
+.btn-group > .btn-group {
+ float: left; }
+
+.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
+ border-radius: 0; }
+
+.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
+.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
+ border-bottom-right-radius: 0;
+ border-top-right-radius: 0; }
+
+.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
+ border-bottom-left-radius: 0;
+ border-top-left-radius: 0; }
+
+.btn-group .dropdown-toggle:active,
+.btn-group.open .dropdown-toggle {
+ outline: 0; }
+
+.btn-group > .btn + .dropdown-toggle {
+ padding-left: 8px;
+ padding-right: 8px; }
+
+.btn-group > .btn-lg + .dropdown-toggle, .btn-group-lg.btn-group > .btn + .dropdown-toggle {
+ padding-left: 12px;
+ padding-right: 12px; }
+
+.btn-group.open .dropdown-toggle {
+ -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); }
+ .btn-group.open .dropdown-toggle.btn-link {
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+
+.btn .caret {
+ margin-left: 0; }
+
+.btn-lg .caret, .btn-group-lg > .btn .caret {
+ border-width: 5px 5px 0;
+ border-bottom-width: 0; }
+
+.dropup .btn-lg .caret, .dropup .btn-group-lg > .btn .caret {
+ border-width: 0 5px 5px; }
+
+.btn-group-vertical > .btn,
+.btn-group-vertical > .btn-group,
+.btn-group-vertical > .btn-group > .btn {
+ display: block;
+ float: none;
+ width: 100%;
+ max-width: 100%; }
+
+.btn-group-vertical > .btn-group:before, .btn-group-vertical > .btn-group:after {
+ content: " ";
+ display: table; }
+
+.btn-group-vertical > .btn-group:after {
+ clear: both; }
+
+.btn-group-vertical > .btn-group > .btn {
+ float: none; }
+
+.btn-group-vertical > .btn + .btn,
+.btn-group-vertical > .btn + .btn-group,
+.btn-group-vertical > .btn-group + .btn,
+.btn-group-vertical > .btn-group + .btn-group {
+ margin-top: -1px;
+ margin-left: 0; }
+
+.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
+ border-radius: 0; }
+
+.btn-group-vertical > .btn:first-child:not(:last-child) {
+ border-top-right-radius: 4px;
+ border-top-left-radius: 4px;
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0; }
+
+.btn-group-vertical > .btn:last-child:not(:first-child) {
+ border-top-right-radius: 0;
+ border-top-left-radius: 0;
+ border-bottom-right-radius: 4px;
+ border-bottom-left-radius: 4px; }
+
+.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
+ border-radius: 0; }
+
+.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
+.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0; }
+
+.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
+ border-top-right-radius: 0;
+ border-top-left-radius: 0; }
+
+.btn-group-justified {
+ display: table;
+ width: 100%;
+ table-layout: fixed;
+ border-collapse: separate; }
+ .btn-group-justified > .btn,
+ .btn-group-justified > .btn-group {
+ float: none;
+ display: table-cell;
+ width: 1%; }
+ .btn-group-justified > .btn-group .btn {
+ width: 100%; }
+ .btn-group-justified > .btn-group .dropdown-menu {
+ left: auto; }
+
+[data-toggle="buttons"] > .btn input[type="radio"],
+[data-toggle="buttons"] > .btn input[type="checkbox"],
+[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
+[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
+ position: absolute;
+ clip: rect(0, 0, 0, 0);
+ pointer-events: none; }
+
+.input-group {
+ position: relative;
+ display: table;
+ border-collapse: separate; }
+ .input-group[class*="col-"] {
+ float: none;
+ padding-left: 0;
+ padding-right: 0; }
+ .input-group .form-control {
+ position: relative;
+ z-index: 2;
+ float: left;
+ width: 100%;
+ margin-bottom: 0; }
+ .input-group .form-control:focus {
+ z-index: 3; }
+
+.input-group-addon,
+.input-group-btn,
+.input-group .form-control {
+ display: table-cell; }
+ .input-group-addon:not(:first-child):not(:last-child),
+ .input-group-btn:not(:first-child):not(:last-child),
+ .input-group .form-control:not(:first-child):not(:last-child) {
+ border-radius: 0; }
+
+.input-group-addon,
+.input-group-btn {
+ width: 1%;
+ white-space: nowrap;
+ vertical-align: middle; }
+
+.input-group-addon {
+ padding: 6px 12px;
+ font-size: 14px;
+ font-weight: normal;
+ line-height: 1;
+ color: #555555;
+ text-align: center;
+ background-color: #eeeeee;
+ border: 1px solid #ccc;
+ border-radius: 4px; }
+ .input-group-addon.input-sm,
+ .input-group-sm > .input-group-addon,
+ .input-group-sm > .input-group-btn > .input-group-addon.btn {
+ padding: 5px 10px;
+ font-size: 12px;
+ border-radius: 3px; }
+ .input-group-addon.input-lg,
+ .input-group-lg > .input-group-addon,
+ .input-group-lg > .input-group-btn > .input-group-addon.btn {
+ padding: 10px 16px;
+ font-size: 18px;
+ border-radius: 6px; }
+ .input-group-addon input[type="radio"],
+ .input-group-addon input[type="checkbox"] {
+ margin-top: 0; }
+
+.input-group .form-control:first-child,
+.input-group-addon:first-child,
+.input-group-btn:first-child > .btn,
+.input-group-btn:first-child > .btn-group > .btn,
+.input-group-btn:first-child > .dropdown-toggle,
+.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
+.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
+ border-bottom-right-radius: 0;
+ border-top-right-radius: 0; }
+
+.input-group-addon:first-child {
+ border-right: 0; }
+
+.input-group .form-control:last-child,
+.input-group-addon:last-child,
+.input-group-btn:last-child > .btn,
+.input-group-btn:last-child > .btn-group > .btn,
+.input-group-btn:last-child > .dropdown-toggle,
+.input-group-btn:first-child > .btn:not(:first-child),
+.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
+ border-bottom-left-radius: 0;
+ border-top-left-radius: 0; }
+
+.input-group-addon:last-child {
+ border-left: 0; }
+
+.input-group-btn {
+ position: relative;
+ font-size: 0;
+ white-space: nowrap; }
+ .input-group-btn > .btn {
+ position: relative; }
+ .input-group-btn > .btn + .btn {
+ margin-left: -1px; }
+ .input-group-btn > .btn:hover, .input-group-btn > .btn:focus, .input-group-btn > .btn:active {
+ z-index: 2; }
+ .input-group-btn:first-child > .btn,
+ .input-group-btn:first-child > .btn-group {
+ margin-right: -1px; }
+ .input-group-btn:last-child > .btn,
+ .input-group-btn:last-child > .btn-group {
+ z-index: 2;
+ margin-left: -1px; }
+
+.nav {
+ margin-bottom: 0;
+ padding-left: 0;
+ list-style: none; }
+ .nav:before, .nav:after {
+ content: " ";
+ display: table; }
+ .nav:after {
+ clear: both; }
+ .nav > li {
+ position: relative;
+ display: block; }
+ .nav > li > a {
+ position: relative;
+ display: block;
+ padding: 10px 15px; }
+ .nav > li > a:hover, .nav > li > a:focus {
+ text-decoration: none;
+ background-color: #eeeeee; }
+ .nav > li.disabled > a {
+ color: #777777; }
+ .nav > li.disabled > a:hover, .nav > li.disabled > a:focus {
+ color: #777777;
+ text-decoration: none;
+ background-color: transparent;
+ cursor: not-allowed; }
+ .nav .open > a, .nav .open > a:hover, .nav .open > a:focus {
+ background-color: #eeeeee;
+ border-color: #337ab7; }
+ .nav .nav-divider {
+ height: 1px;
+ margin: 9px 0;
+ overflow: hidden;
+ background-color: #e5e5e5; }
+ .nav > li > a > img {
+ max-width: none; }
+
+.nav-tabs {
+ border-bottom: 1px solid #ddd; }
+ .nav-tabs > li {
+ float: left;
+ margin-bottom: -1px; }
+ .nav-tabs > li > a {
+ margin-right: 2px;
+ line-height: 1.42857;
+ border: 1px solid transparent;
+ border-radius: 4px 4px 0 0; }
+ .nav-tabs > li > a:hover {
+ border-color: #eeeeee #eeeeee #ddd; }
+ .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {
+ color: #555555;
+ background-color: #fff;
+ border: 1px solid #ddd;
+ border-bottom-color: transparent;
+ cursor: default; }
+
+.nav-pills > li {
+ float: left; }
+ .nav-pills > li > a {
+ border-radius: 4px; }
+ .nav-pills > li + li {
+ margin-left: 2px; }
+ .nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus {
+ color: #fff;
+ background-color: #337ab7; }
+
+.nav-stacked > li {
+ float: none; }
+ .nav-stacked > li + li {
+ margin-top: 2px;
+ margin-left: 0; }
+
+.nav-justified, .nav-tabs.nav-justified {
+ width: 100%; }
+ .nav-justified > li, .nav-tabs.nav-justified > li {
+ float: none; }
+ .nav-justified > li > a, .nav-tabs.nav-justified > li > a {
+ text-align: center;
+ margin-bottom: 5px; }
+ .nav-justified > .dropdown .dropdown-menu {
+ top: auto;
+ left: auto; }
+ @media (min-width: 768px) {
+ .nav-justified > li, .nav-tabs.nav-justified > li {
+ display: table-cell;
+ width: 1%; }
+ .nav-justified > li > a, .nav-tabs.nav-justified > li > a {
+ margin-bottom: 0; } }
+
+.nav-tabs-justified, .nav-tabs.nav-justified {
+ border-bottom: 0; }
+ .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a {
+ margin-right: 0;
+ border-radius: 4px; }
+ .nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a,
+ .nav-tabs-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:hover,
+ .nav-tabs-justified > .active > a:focus, .nav-tabs.nav-justified > .active > a:focus {
+ border: 1px solid #ddd; }
+ @media (min-width: 768px) {
+ .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a {
+ border-bottom: 1px solid #ddd;
+ border-radius: 4px 4px 0 0; }
+ .nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a,
+ .nav-tabs-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:hover,
+ .nav-tabs-justified > .active > a:focus, .nav-tabs.nav-justified > .active > a:focus {
+ border-bottom-color: #fff; } }
+
+.tab-content > .tab-pane {
+ display: none; }
+
+.tab-content > .active {
+ display: block; }
+
+.nav-tabs .dropdown-menu {
+ margin-top: -1px;
+ border-top-right-radius: 0;
+ border-top-left-radius: 0; }
+
+.navbar {
+ position: relative;
+ min-height: 50px;
+ margin-bottom: 20px;
+ border: 1px solid transparent; }
+ .navbar:before, .navbar:after {
+ content: " ";
+ display: table; }
+ .navbar:after {
+ clear: both; }
+ @media (min-width: 768px) {
+ .navbar {
+ border-radius: 4px; } }
+
+.navbar-header:before, .navbar-header:after {
+ content: " ";
+ display: table; }
+
+.navbar-header:after {
+ clear: both; }
+
+@media (min-width: 768px) {
+ .navbar-header {
+ float: left; } }
+
+.navbar-collapse {
+ overflow-x: visible;
+ padding-right: 15px;
+ padding-left: 15px;
+ border-top: 1px solid transparent;
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
+ -webkit-overflow-scrolling: touch; }
+ .navbar-collapse:before, .navbar-collapse:after {
+ content: " ";
+ display: table; }
+ .navbar-collapse:after {
+ clear: both; }
+ .navbar-collapse.in {
+ overflow-y: auto; }
+ @media (min-width: 768px) {
+ .navbar-collapse {
+ width: auto;
+ border-top: 0;
+ box-shadow: none; }
+ .navbar-collapse.collapse {
+ display: block !important;
+ height: auto !important;
+ padding-bottom: 0;
+ overflow: visible !important; }
+ .navbar-collapse.in {
+ overflow-y: visible; }
+ .navbar-fixed-top .navbar-collapse,
+ .navbar-static-top .navbar-collapse,
+ .navbar-fixed-bottom .navbar-collapse {
+ padding-left: 0;
+ padding-right: 0; } }
+
+.navbar-fixed-top .navbar-collapse,
+.navbar-fixed-bottom .navbar-collapse {
+ max-height: 340px; }
+ @media (max-device-width: 480px) and (orientation: landscape) {
+ .navbar-fixed-top .navbar-collapse,
+ .navbar-fixed-bottom .navbar-collapse {
+ max-height: 200px; } }
+
+.container > .navbar-header,
+.container > .navbar-collapse,
+.container-fluid > .navbar-header,
+.container-fluid > .navbar-collapse {
+ margin-right: -15px;
+ margin-left: -15px; }
+ @media (min-width: 768px) {
+ .container > .navbar-header,
+ .container > .navbar-collapse,
+ .container-fluid > .navbar-header,
+ .container-fluid > .navbar-collapse {
+ margin-right: 0;
+ margin-left: 0; } }
+
+.navbar-static-top {
+ z-index: 1000;
+ border-width: 0 0 1px; }
+ @media (min-width: 768px) {
+ .navbar-static-top {
+ border-radius: 0; } }
+
+.navbar-fixed-top,
+.navbar-fixed-bottom {
+ position: fixed;
+ right: 0;
+ left: 0;
+ z-index: 1030; }
+ @media (min-width: 768px) {
+ .navbar-fixed-top,
+ .navbar-fixed-bottom {
+ border-radius: 0; } }
+
+.navbar-fixed-top {
+ top: 0;
+ border-width: 0 0 1px; }
+
+.navbar-fixed-bottom {
+ bottom: 0;
+ margin-bottom: 0;
+ border-width: 1px 0 0; }
+
+.navbar-brand {
+ float: left;
+ padding: 15px 15px;
+ font-size: 18px;
+ line-height: 20px;
+ height: 50px; }
+ .navbar-brand:hover, .navbar-brand:focus {
+ text-decoration: none; }
+ .navbar-brand > img {
+ display: block; }
+ @media (min-width: 768px) {
+ .navbar > .container .navbar-brand,
+ .navbar > .container-fluid .navbar-brand {
+ margin-left: -15px; } }
+
+.navbar-toggle {
+ position: relative;
+ float: right;
+ margin-right: 15px;
+ padding: 9px 10px;
+ margin-top: 8px;
+ margin-bottom: 8px;
+ background-color: transparent;
+ background-image: none;
+ border: 1px solid transparent;
+ border-radius: 4px; }
+ .navbar-toggle:focus {
+ outline: 0; }
+ .navbar-toggle .icon-bar {
+ display: block;
+ width: 22px;
+ height: 2px;
+ border-radius: 1px; }
+ .navbar-toggle .icon-bar + .icon-bar {
+ margin-top: 4px; }
+ @media (min-width: 768px) {
+ .navbar-toggle {
+ display: none; } }
+
+.navbar-nav {
+ margin: 7.5px -15px; }
+ .navbar-nav > li > a {
+ padding-top: 10px;
+ padding-bottom: 10px;
+ line-height: 20px; }
+ @media (max-width: 767px) {
+ .navbar-nav .open .dropdown-menu {
+ position: static;
+ float: none;
+ width: auto;
+ margin-top: 0;
+ background-color: transparent;
+ border: 0;
+ box-shadow: none; }
+ .navbar-nav .open .dropdown-menu > li > a,
+ .navbar-nav .open .dropdown-menu .dropdown-header {
+ padding: 5px 15px 5px 25px; }
+ .navbar-nav .open .dropdown-menu > li > a {
+ line-height: 20px; }
+ .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-nav .open .dropdown-menu > li > a:focus {
+ background-image: none; } }
+ @media (min-width: 768px) {
+ .navbar-nav {
+ float: left;
+ margin: 0; }
+ .navbar-nav > li {
+ float: left; }
+ .navbar-nav > li > a {
+ padding-top: 15px;
+ padding-bottom: 15px; } }
+
+.navbar-form {
+ margin-left: -15px;
+ margin-right: -15px;
+ padding: 10px 15px;
+ border-top: 1px solid transparent;
+ border-bottom: 1px solid transparent;
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
+ margin-top: 8px;
+ margin-bottom: 8px; }
+ @media (min-width: 768px) {
+ .navbar-form .form-group {
+ display: inline-block;
+ margin-bottom: 0;
+ vertical-align: middle; }
+ .navbar-form .form-control {
+ display: inline-block;
+ width: auto;
+ vertical-align: middle; }
+ .navbar-form .form-control-static {
+ display: inline-block; }
+ .navbar-form .input-group {
+ display: inline-table;
+ vertical-align: middle; }
+ .navbar-form .input-group .input-group-addon,
+ .navbar-form .input-group .input-group-btn,
+ .navbar-form .input-group .form-control {
+ width: auto; }
+ .navbar-form .input-group > .form-control {
+ width: 100%; }
+ .navbar-form .control-label {
+ margin-bottom: 0;
+ vertical-align: middle; }
+ .navbar-form .radio,
+ .navbar-form .checkbox {
+ display: inline-block;
+ margin-top: 0;
+ margin-bottom: 0;
+ vertical-align: middle; }
+ .navbar-form .radio label,
+ .navbar-form .checkbox label {
+ padding-left: 0; }
+ .navbar-form .radio input[type="radio"],
+ .navbar-form .checkbox input[type="checkbox"] {
+ position: relative;
+ margin-left: 0; }
+ .navbar-form .has-feedback .form-control-feedback {
+ top: 0; } }
+ @media (max-width: 767px) {
+ .navbar-form .form-group {
+ margin-bottom: 5px; }
+ .navbar-form .form-group:last-child {
+ margin-bottom: 0; } }
+ @media (min-width: 768px) {
+ .navbar-form {
+ width: auto;
+ border: 0;
+ margin-left: 0;
+ margin-right: 0;
+ padding-top: 0;
+ padding-bottom: 0;
+ -webkit-box-shadow: none;
+ box-shadow: none; } }
+
+.navbar-nav > li > .dropdown-menu {
+ margin-top: 0;
+ border-top-right-radius: 0;
+ border-top-left-radius: 0; }
+
+.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
+ margin-bottom: 0;
+ border-top-right-radius: 4px;
+ border-top-left-radius: 4px;
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0; }
+
+.navbar-btn {
+ margin-top: 8px;
+ margin-bottom: 8px; }
+ .navbar-btn.btn-sm, .btn-group-sm > .navbar-btn.btn {
+ margin-top: 10px;
+ margin-bottom: 10px; }
+ .navbar-btn.btn-xs, .btn-group-xs > .navbar-btn.btn {
+ margin-top: 14px;
+ margin-bottom: 14px; }
+
+.navbar-text {
+ margin-top: 15px;
+ margin-bottom: 15px; }
+ @media (min-width: 768px) {
+ .navbar-text {
+ float: left;
+ margin-left: 15px;
+ margin-right: 15px; } }
+
+@media (min-width: 768px) {
+ .navbar-left {
+ float: left !important; }
+ .navbar-right {
+ float: right !important;
+ margin-right: -15px; }
+ .navbar-right ~ .navbar-right {
+ margin-right: 0; } }
+
+.navbar-default {
+ background-color: #f8f8f8;
+ border-color: #e7e7e7; }
+ .navbar-default .navbar-brand {
+ color: #777; }
+ .navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus {
+ color: #5e5e5e;
+ background-color: transparent; }
+ .navbar-default .navbar-text {
+ color: #777; }
+ .navbar-default .navbar-nav > li > a {
+ color: #777; }
+ .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus {
+ color: #333;
+ background-color: transparent; }
+ .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus {
+ color: #555;
+ background-color: #e7e7e7; }
+ .navbar-default .navbar-nav > .disabled > a, .navbar-default .navbar-nav > .disabled > a:hover, .navbar-default .navbar-nav > .disabled > a:focus {
+ color: #ccc;
+ background-color: transparent; }
+ .navbar-default .navbar-toggle {
+ border-color: #ddd; }
+ .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus {
+ background-color: #ddd; }
+ .navbar-default .navbar-toggle .icon-bar {
+ background-color: #888; }
+ .navbar-default .navbar-collapse,
+ .navbar-default .navbar-form {
+ border-color: #e7e7e7; }
+ .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus {
+ background-color: #e7e7e7;
+ color: #555; }
+ @media (max-width: 767px) {
+ .navbar-default .navbar-nav .open .dropdown-menu > li > a {
+ color: #777; }
+ .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
+ color: #333;
+ background-color: transparent; }
+ .navbar-default .navbar-nav .open .dropdown-menu > .active > a, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
+ color: #555;
+ background-color: #e7e7e7; }
+ .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
+ color: #ccc;
+ background-color: transparent; } }
+ .navbar-default .navbar-link {
+ color: #777; }
+ .navbar-default .navbar-link:hover {
+ color: #333; }
+ .navbar-default .btn-link {
+ color: #777; }
+ .navbar-default .btn-link:hover, .navbar-default .btn-link:focus {
+ color: #333; }
+ .navbar-default .btn-link[disabled]:hover, .navbar-default .btn-link[disabled]:focus,
+ fieldset[disabled] .navbar-default .btn-link:hover,
+ fieldset[disabled] .navbar-default .btn-link:focus {
+ color: #ccc; }
+
+.navbar-inverse {
+ background-color: #222;
+ border-color: #090909; }
+ .navbar-inverse .navbar-brand {
+ color: #9d9d9d; }
+ .navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus {
+ color: #fff;
+ background-color: transparent; }
+ .navbar-inverse .navbar-text {
+ color: #9d9d9d; }
+ .navbar-inverse .navbar-nav > li > a {
+ color: #9d9d9d; }
+ .navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus {
+ color: #fff;
+ background-color: transparent; }
+ .navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus {
+ color: #fff;
+ background-color: #090909; }
+ .navbar-inverse .navbar-nav > .disabled > a, .navbar-inverse .navbar-nav > .disabled > a:hover, .navbar-inverse .navbar-nav > .disabled > a:focus {
+ color: #444;
+ background-color: transparent; }
+ .navbar-inverse .navbar-toggle {
+ border-color: #333; }
+ .navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus {
+ background-color: #333; }
+ .navbar-inverse .navbar-toggle .icon-bar {
+ background-color: #fff; }
+ .navbar-inverse .navbar-collapse,
+ .navbar-inverse .navbar-form {
+ border-color: #101010; }
+ .navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus {
+ background-color: #090909;
+ color: #fff; }
+ @media (max-width: 767px) {
+ .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
+ border-color: #090909; }
+ .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
+ background-color: #090909; }
+ .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
+ color: #9d9d9d; }
+ .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
+ color: #fff;
+ background-color: transparent; }
+ .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
+ color: #fff;
+ background-color: #090909; }
+ .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
+ color: #444;
+ background-color: transparent; } }
+ .navbar-inverse .navbar-link {
+ color: #9d9d9d; }
+ .navbar-inverse .navbar-link:hover {
+ color: #fff; }
+ .navbar-inverse .btn-link {
+ color: #9d9d9d; }
+ .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link:focus {
+ color: #fff; }
+ .navbar-inverse .btn-link[disabled]:hover, .navbar-inverse .btn-link[disabled]:focus,
+ fieldset[disabled] .navbar-inverse .btn-link:hover,
+ fieldset[disabled] .navbar-inverse .btn-link:focus {
+ color: #444; }
+
+.breadcrumb {
+ padding: 8px 15px;
+ margin-bottom: 20px;
+ list-style: none;
+ background-color: #f5f5f5;
+ border-radius: 4px; }
+ .breadcrumb > li {
+ display: inline-block; }
+ .breadcrumb > li + li:before {
+ content: "/ ";
+ padding: 0 5px;
+ color: #ccc; }
+ .breadcrumb > .active {
+ color: #777777; }
+
+.pagination {
+ display: inline-block;
+ padding-left: 0;
+ margin: 20px 0;
+ border-radius: 4px; }
+ .pagination > li {
+ display: inline; }
+ .pagination > li > a,
+ .pagination > li > span {
+ position: relative;
+ float: left;
+ padding: 6px 12px;
+ line-height: 1.42857;
+ text-decoration: none;
+ color: #337ab7;
+ background-color: #fff;
+ border: 1px solid #ddd;
+ margin-left: -1px; }
+ .pagination > li:first-child > a,
+ .pagination > li:first-child > span {
+ margin-left: 0;
+ border-bottom-left-radius: 4px;
+ border-top-left-radius: 4px; }
+ .pagination > li:last-child > a,
+ .pagination > li:last-child > span {
+ border-bottom-right-radius: 4px;
+ border-top-right-radius: 4px; }
+ .pagination > li > a:hover, .pagination > li > a:focus,
+ .pagination > li > span:hover,
+ .pagination > li > span:focus {
+ z-index: 2;
+ color: #23527c;
+ background-color: #eeeeee;
+ border-color: #ddd; }
+ .pagination > .active > a, .pagination > .active > a:hover, .pagination > .active > a:focus,
+ .pagination > .active > span,
+ .pagination > .active > span:hover,
+ .pagination > .active > span:focus {
+ z-index: 3;
+ color: #fff;
+ background-color: #337ab7;
+ border-color: #337ab7;
+ cursor: default; }
+ .pagination > .disabled > span,
+ .pagination > .disabled > span:hover,
+ .pagination > .disabled > span:focus,
+ .pagination > .disabled > a,
+ .pagination > .disabled > a:hover,
+ .pagination > .disabled > a:focus {
+ color: #777777;
+ background-color: #fff;
+ border-color: #ddd;
+ cursor: not-allowed; }
+
+.pagination-lg > li > a,
+.pagination-lg > li > span {
+ padding: 10px 16px;
+ font-size: 18px;
+ line-height: 1.33333; }
+
+.pagination-lg > li:first-child > a,
+.pagination-lg > li:first-child > span {
+ border-bottom-left-radius: 6px;
+ border-top-left-radius: 6px; }
+
+.pagination-lg > li:last-child > a,
+.pagination-lg > li:last-child > span {
+ border-bottom-right-radius: 6px;
+ border-top-right-radius: 6px; }
+
+.pagination-sm > li > a,
+.pagination-sm > li > span {
+ padding: 5px 10px;
+ font-size: 12px;
+ line-height: 1.5; }
+
+.pagination-sm > li:first-child > a,
+.pagination-sm > li:first-child > span {
+ border-bottom-left-radius: 3px;
+ border-top-left-radius: 3px; }
+
+.pagination-sm > li:last-child > a,
+.pagination-sm > li:last-child > span {
+ border-bottom-right-radius: 3px;
+ border-top-right-radius: 3px; }
+
+.pager {
+ padding-left: 0;
+ margin: 20px 0;
+ list-style: none;
+ text-align: center; }
+ .pager:before, .pager:after {
+ content: " ";
+ display: table; }
+ .pager:after {
+ clear: both; }
+ .pager li {
+ display: inline; }
+ .pager li > a,
+ .pager li > span {
+ display: inline-block;
+ padding: 5px 14px;
+ background-color: #fff;
+ border: 1px solid #ddd;
+ border-radius: 15px; }
+ .pager li > a:hover,
+ .pager li > a:focus {
+ text-decoration: none;
+ background-color: #eeeeee; }
+ .pager .next > a,
+ .pager .next > span {
+ float: right; }
+ .pager .previous > a,
+ .pager .previous > span {
+ float: left; }
+ .pager .disabled > a,
+ .pager .disabled > a:hover,
+ .pager .disabled > a:focus,
+ .pager .disabled > span {
+ color: #777777;
+ background-color: #fff;
+ cursor: not-allowed; }
+
+.label {
+ display: inline;
+ padding: .2em .6em .3em;
+ font-size: 75%;
+ font-weight: bold;
+ line-height: 1;
+ color: #fff;
+ text-align: center;
+ white-space: nowrap;
+ vertical-align: baseline;
+ border-radius: .25em; }
+ .label:empty {
+ display: none; }
+ .btn .label {
+ position: relative;
+ top: -1px; }
+
+a.label:hover, a.label:focus {
+ color: #fff;
+ text-decoration: none;
+ cursor: pointer; }
+
+.label-default {
+ background-color: #777777; }
+ .label-default[href]:hover, .label-default[href]:focus {
+ background-color: #5e5e5e; }
+
+.label-primary {
+ background-color: #337ab7; }
+ .label-primary[href]:hover, .label-primary[href]:focus {
+ background-color: #286090; }
+
+.label-success {
+ background-color: #5cb85c; }
+ .label-success[href]:hover, .label-success[href]:focus {
+ background-color: #449d44; }
+
+.label-info {
+ background-color: #5bc0de; }
+ .label-info[href]:hover, .label-info[href]:focus {
+ background-color: #31b0d5; }
+
+.label-warning {
+ background-color: #f0ad4e; }
+ .label-warning[href]:hover, .label-warning[href]:focus {
+ background-color: #ec971f; }
+
+.label-danger {
+ background-color: #d9534f; }
+ .label-danger[href]:hover, .label-danger[href]:focus {
+ background-color: #c9302c; }
+
+.badge {
+ display: inline-block;
+ min-width: 10px;
+ padding: 3px 7px;
+ font-size: 12px;
+ font-weight: bold;
+ color: #fff;
+ line-height: 1;
+ vertical-align: middle;
+ white-space: nowrap;
+ text-align: center;
+ background-color: #777777;
+ border-radius: 10px; }
+ .badge:empty {
+ display: none; }
+ .btn .badge {
+ position: relative;
+ top: -1px; }
+ .btn-xs .badge, .btn-group-xs > .btn .badge,
+ .btn-group-xs > .btn .badge {
+ top: 0;
+ padding: 1px 5px; }
+ .list-group-item.active > .badge,
+ .nav-pills > .active > a > .badge {
+ color: #337ab7;
+ background-color: #fff; }
+ .list-group-item > .badge {
+ float: right; }
+ .list-group-item > .badge + .badge {
+ margin-right: 5px; }
+ .nav-pills > li > a > .badge {
+ margin-left: 3px; }
+
+a.badge:hover, a.badge:focus {
+ color: #fff;
+ text-decoration: none;
+ cursor: pointer; }
+
+.jumbotron {
+ padding-top: 30px;
+ padding-bottom: 30px;
+ margin-bottom: 30px;
+ color: inherit;
+ background-color: #eeeeee; }
+ .jumbotron h1,
+ .jumbotron .h1 {
+ color: inherit; }
+ .jumbotron p {
+ margin-bottom: 15px;
+ font-size: 21px;
+ font-weight: 200; }
+ .jumbotron > hr {
+ border-top-color: #d5d5d5; }
+ .container .jumbotron,
+ .container-fluid .jumbotron {
+ border-radius: 6px;
+ padding-left: 15px;
+ padding-right: 15px; }
+ .jumbotron .container {
+ max-width: 100%; }
+ @media screen and (min-width: 768px) {
+ .jumbotron {
+ padding-top: 48px;
+ padding-bottom: 48px; }
+ .container .jumbotron,
+ .container-fluid .jumbotron {
+ padding-left: 60px;
+ padding-right: 60px; }
+ .jumbotron h1,
+ .jumbotron .h1 {
+ font-size: 63px; } }
+
+.thumbnail {
+ display: block;
+ padding: 4px;
+ margin-bottom: 20px;
+ line-height: 1.42857;
+ background-color: #fff;
+ border: 1px solid #ddd;
+ border-radius: 4px;
+ -webkit-transition: border 0.2s ease-in-out;
+ -o-transition: border 0.2s ease-in-out;
+ transition: border 0.2s ease-in-out; }
+ .thumbnail > img,
+ .thumbnail a > img {
+ display: block;
+ max-width: 100%;
+ height: auto;
+ margin-left: auto;
+ margin-right: auto; }
+ .thumbnail .caption {
+ padding: 9px;
+ color: #333333; }
+
+a.thumbnail:hover,
+a.thumbnail:focus,
+a.thumbnail.active {
+ border-color: #337ab7; }
+
+.alert {
+ padding: 15px;
+ margin-bottom: 20px;
+ border: 1px solid transparent;
+ border-radius: 4px; }
+ .alert h4 {
+ margin-top: 0;
+ color: inherit; }
+ .alert .alert-link {
+ font-weight: bold; }
+ .alert > p,
+ .alert > ul {
+ margin-bottom: 0; }
+ .alert > p + p {
+ margin-top: 5px; }
+
+.alert-dismissable,
+.alert-dismissible {
+ padding-right: 35px; }
+ .alert-dismissable .close,
+ .alert-dismissible .close {
+ position: relative;
+ top: -2px;
+ right: -21px;
+ color: inherit; }
+
+.alert-success {
+ background-color: #dff0d8;
+ border-color: #d6e9c6;
+ color: #3c763d; }
+ .alert-success hr {
+ border-top-color: #c9e2b3; }
+ .alert-success .alert-link {
+ color: #2b542c; }
+
+.alert-info {
+ background-color: #d9edf7;
+ border-color: #bce8f1;
+ color: #31708f; }
+ .alert-info hr {
+ border-top-color: #a6e1ec; }
+ .alert-info .alert-link {
+ color: #245269; }
+
+.alert-warning {
+ background-color: #fcf8e3;
+ border-color: #faebcc;
+ color: #8a6d3b; }
+ .alert-warning hr {
+ border-top-color: #f7e1b5; }
+ .alert-warning .alert-link {
+ color: #66512c; }
+
+.alert-danger {
+ background-color: #f2dede;
+ border-color: #ebccd1;
+ color: #a94442; }
+ .alert-danger hr {
+ border-top-color: #e4b9c0; }
+ .alert-danger .alert-link {
+ color: #843534; }
+
+@-webkit-keyframes progress-bar-stripes {
+ from {
+ background-position: 40px 0; }
+ to {
+ background-position: 0 0; } }
+
+@keyframes progress-bar-stripes {
+ from {
+ background-position: 40px 0; }
+ to {
+ background-position: 0 0; } }
+
+.progress {
+ overflow: hidden;
+ height: 20px;
+ margin-bottom: 20px;
+ background-color: #f5f5f5;
+ border-radius: 4px;
+ -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); }
+
+.progress-bar {
+ float: left;
+ width: 0%;
+ height: 100%;
+ font-size: 12px;
+ line-height: 20px;
+ color: #fff;
+ text-align: center;
+ background-color: #337ab7;
+ -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
+ box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
+ -webkit-transition: width 0.6s ease;
+ -o-transition: width 0.6s ease;
+ transition: width 0.6s ease; }
+
+.progress-striped .progress-bar,
+.progress-bar-striped {
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-size: 40px 40px; }
+
+.progress.active .progress-bar,
+.progress-bar.active {
+ -webkit-animation: progress-bar-stripes 2s linear infinite;
+ -o-animation: progress-bar-stripes 2s linear infinite;
+ animation: progress-bar-stripes 2s linear infinite; }
+
+.progress-bar-success {
+ background-color: #5cb85c; }
+ .progress-striped .progress-bar-success {
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }
+
+.progress-bar-info {
+ background-color: #5bc0de; }
+ .progress-striped .progress-bar-info {
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }
+
+.progress-bar-warning {
+ background-color: #f0ad4e; }
+ .progress-striped .progress-bar-warning {
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }
+
+.progress-bar-danger {
+ background-color: #d9534f; }
+ .progress-striped .progress-bar-danger {
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }
+
+.media {
+ margin-top: 15px; }
+ .media:first-child {
+ margin-top: 0; }
+
+.media,
+.media-body {
+ zoom: 1;
+ overflow: hidden; }
+
+.media-body {
+ width: 10000px; }
+
+.media-object {
+ display: block; }
+ .media-object.img-thumbnail {
+ max-width: none; }
+
+.media-right,
+.media > .pull-right {
+ padding-left: 10px; }
+
+.media-left,
+.media > .pull-left {
+ padding-right: 10px; }
+
+.media-left,
+.media-right,
+.media-body {
+ display: table-cell;
+ vertical-align: top; }
+
+.media-middle {
+ vertical-align: middle; }
+
+.media-bottom {
+ vertical-align: bottom; }
+
+.media-heading {
+ margin-top: 0;
+ margin-bottom: 5px; }
+
+.media-list {
+ padding-left: 0;
+ list-style: none; }
+
+.list-group {
+ margin-bottom: 20px;
+ padding-left: 0; }
+
+.list-group-item {
+ position: relative;
+ display: block;
+ padding: 10px 15px;
+ margin-bottom: -1px;
+ background-color: #fff;
+ border: 1px solid #ddd; }
+ .list-group-item:first-child {
+ border-top-right-radius: 4px;
+ border-top-left-radius: 4px; }
+ .list-group-item:last-child {
+ margin-bottom: 0;
+ border-bottom-right-radius: 4px;
+ border-bottom-left-radius: 4px; }
+
+a.list-group-item,
+button.list-group-item {
+ color: #555; }
+ a.list-group-item .list-group-item-heading,
+ button.list-group-item .list-group-item-heading {
+ color: #333; }
+ a.list-group-item:hover, a.list-group-item:focus,
+ button.list-group-item:hover,
+ button.list-group-item:focus {
+ text-decoration: none;
+ color: #555;
+ background-color: #f5f5f5; }
+
+button.list-group-item {
+ width: 100%;
+ text-align: left; }
+
+.list-group-item.disabled, .list-group-item.disabled:hover, .list-group-item.disabled:focus {
+ background-color: #eeeeee;
+ color: #777777;
+ cursor: not-allowed; }
+ .list-group-item.disabled .list-group-item-heading, .list-group-item.disabled:hover .list-group-item-heading, .list-group-item.disabled:focus .list-group-item-heading {
+ color: inherit; }
+ .list-group-item.disabled .list-group-item-text, .list-group-item.disabled:hover .list-group-item-text, .list-group-item.disabled:focus .list-group-item-text {
+ color: #777777; }
+
+.list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus {
+ z-index: 2;
+ color: #fff;
+ background-color: #337ab7;
+ border-color: #337ab7; }
+ .list-group-item.active .list-group-item-heading,
+ .list-group-item.active .list-group-item-heading > small,
+ .list-group-item.active .list-group-item-heading > .small, .list-group-item.active:hover .list-group-item-heading,
+ .list-group-item.active:hover .list-group-item-heading > small,
+ .list-group-item.active:hover .list-group-item-heading > .small, .list-group-item.active:focus .list-group-item-heading,
+ .list-group-item.active:focus .list-group-item-heading > small,
+ .list-group-item.active:focus .list-group-item-heading > .small {
+ color: inherit; }
+ .list-group-item.active .list-group-item-text, .list-group-item.active:hover .list-group-item-text, .list-group-item.active:focus .list-group-item-text {
+ color: #c7ddef; }
+
+.list-group-item-success {
+ color: #3c763d;
+ background-color: #dff0d8; }
+
+a.list-group-item-success,
+button.list-group-item-success {
+ color: #3c763d; }
+ a.list-group-item-success .list-group-item-heading,
+ button.list-group-item-success .list-group-item-heading {
+ color: inherit; }
+ a.list-group-item-success:hover, a.list-group-item-success:focus,
+ button.list-group-item-success:hover,
+ button.list-group-item-success:focus {
+ color: #3c763d;
+ background-color: #d0e9c6; }
+ a.list-group-item-success.active, a.list-group-item-success.active:hover, a.list-group-item-success.active:focus,
+ button.list-group-item-success.active,
+ button.list-group-item-success.active:hover,
+ button.list-group-item-success.active:focus {
+ color: #fff;
+ background-color: #3c763d;
+ border-color: #3c763d; }
+
+.list-group-item-info {
+ color: #31708f;
+ background-color: #d9edf7; }
+
+a.list-group-item-info,
+button.list-group-item-info {
+ color: #31708f; }
+ a.list-group-item-info .list-group-item-heading,
+ button.list-group-item-info .list-group-item-heading {
+ color: inherit; }
+ a.list-group-item-info:hover, a.list-group-item-info:focus,
+ button.list-group-item-info:hover,
+ button.list-group-item-info:focus {
+ color: #31708f;
+ background-color: #c4e3f3; }
+ a.list-group-item-info.active, a.list-group-item-info.active:hover, a.list-group-item-info.active:focus,
+ button.list-group-item-info.active,
+ button.list-group-item-info.active:hover,
+ button.list-group-item-info.active:focus {
+ color: #fff;
+ background-color: #31708f;
+ border-color: #31708f; }
+
+.list-group-item-warning {
+ color: #8a6d3b;
+ background-color: #fcf8e3; }
+
+a.list-group-item-warning,
+button.list-group-item-warning {
+ color: #8a6d3b; }
+ a.list-group-item-warning .list-group-item-heading,
+ button.list-group-item-warning .list-group-item-heading {
+ color: inherit; }
+ a.list-group-item-warning:hover, a.list-group-item-warning:focus,
+ button.list-group-item-warning:hover,
+ button.list-group-item-warning:focus {
+ color: #8a6d3b;
+ background-color: #faf2cc; }
+ a.list-group-item-warning.active, a.list-group-item-warning.active:hover, a.list-group-item-warning.active:focus,
+ button.list-group-item-warning.active,
+ button.list-group-item-warning.active:hover,
+ button.list-group-item-warning.active:focus {
+ color: #fff;
+ background-color: #8a6d3b;
+ border-color: #8a6d3b; }
+
+.list-group-item-danger {
+ color: #a94442;
+ background-color: #f2dede; }
+
+a.list-group-item-danger,
+button.list-group-item-danger {
+ color: #a94442; }
+ a.list-group-item-danger .list-group-item-heading,
+ button.list-group-item-danger .list-group-item-heading {
+ color: inherit; }
+ a.list-group-item-danger:hover, a.list-group-item-danger:focus,
+ button.list-group-item-danger:hover,
+ button.list-group-item-danger:focus {
+ color: #a94442;
+ background-color: #ebcccc; }
+ a.list-group-item-danger.active, a.list-group-item-danger.active:hover, a.list-group-item-danger.active:focus,
+ button.list-group-item-danger.active,
+ button.list-group-item-danger.active:hover,
+ button.list-group-item-danger.active:focus {
+ color: #fff;
+ background-color: #a94442;
+ border-color: #a94442; }
+
+.list-group-item-heading {
+ margin-top: 0;
+ margin-bottom: 5px; }
+
+.list-group-item-text {
+ margin-bottom: 0;
+ line-height: 1.3; }
+
+.panel {
+ margin-bottom: 20px;
+ background-color: #fff;
+ border: 1px solid transparent;
+ border-radius: 4px;
+ -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); }
+
+.panel-body {
+ padding: 15px; }
+ .panel-body:before, .panel-body:after {
+ content: " ";
+ display: table; }
+ .panel-body:after {
+ clear: both; }
+
+.panel-heading {
+ padding: 10px 15px;
+ border-bottom: 1px solid transparent;
+ border-top-right-radius: 3px;
+ border-top-left-radius: 3px; }
+ .panel-heading > .dropdown .dropdown-toggle {
+ color: inherit; }
+
+.panel-title {
+ margin-top: 0;
+ margin-bottom: 0;
+ font-size: 16px;
+ color: inherit; }
+ .panel-title > a,
+ .panel-title > small,
+ .panel-title > .small,
+ .panel-title > small > a,
+ .panel-title > .small > a {
+ color: inherit; }
+
+.panel-footer {
+ padding: 10px 15px;
+ background-color: #f5f5f5;
+ border-top: 1px solid #ddd;
+ border-bottom-right-radius: 3px;
+ border-bottom-left-radius: 3px; }
+
+.panel > .list-group,
+.panel > .panel-collapse > .list-group {
+ margin-bottom: 0; }
+ .panel > .list-group .list-group-item,
+ .panel > .panel-collapse > .list-group .list-group-item {
+ border-width: 1px 0;
+ border-radius: 0; }
+ .panel > .list-group:first-child .list-group-item:first-child,
+ .panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
+ border-top: 0;
+ border-top-right-radius: 3px;
+ border-top-left-radius: 3px; }
+ .panel > .list-group:last-child .list-group-item:last-child,
+ .panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
+ border-bottom: 0;
+ border-bottom-right-radius: 3px;
+ border-bottom-left-radius: 3px; }
+
+.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
+ border-top-right-radius: 0;
+ border-top-left-radius: 0; }
+
+.panel-heading + .list-group .list-group-item:first-child {
+ border-top-width: 0; }
+
+.list-group + .panel-footer {
+ border-top-width: 0; }
+
+.panel > .table,
+.panel > .table-responsive > .table,
+.panel > .panel-collapse > .table {
+ margin-bottom: 0; }
+ .panel > .table caption,
+ .panel > .table-responsive > .table caption,
+ .panel > .panel-collapse > .table caption {
+ padding-left: 15px;
+ padding-right: 15px; }
+
+.panel > .table:first-child,
+.panel > .table-responsive:first-child > .table:first-child {
+ border-top-right-radius: 3px;
+ border-top-left-radius: 3px; }
+ .panel > .table:first-child > thead:first-child > tr:first-child,
+ .panel > .table:first-child > tbody:first-child > tr:first-child,
+ .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
+ .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
+ border-top-left-radius: 3px;
+ border-top-right-radius: 3px; }
+ .panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
+ .panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
+ .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
+ .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
+ .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
+ .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
+ .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
+ .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
+ border-top-left-radius: 3px; }
+ .panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
+ .panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
+ .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
+ .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
+ .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
+ .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
+ .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
+ .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
+ border-top-right-radius: 3px; }
+
+.panel > .table:last-child,
+.panel > .table-responsive:last-child > .table:last-child {
+ border-bottom-right-radius: 3px;
+ border-bottom-left-radius: 3px; }
+ .panel > .table:last-child > tbody:last-child > tr:last-child,
+ .panel > .table:last-child > tfoot:last-child > tr:last-child,
+ .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
+ .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
+ border-bottom-left-radius: 3px;
+ border-bottom-right-radius: 3px; }
+ .panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
+ .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
+ .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
+ .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
+ .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
+ .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
+ .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
+ .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
+ border-bottom-left-radius: 3px; }
+ .panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
+ .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
+ .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
+ .panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
+ .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
+ .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
+ .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
+ .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
+ border-bottom-right-radius: 3px; }
+
+.panel > .panel-body + .table,
+.panel > .panel-body + .table-responsive,
+.panel > .table + .panel-body,
+.panel > .table-responsive + .panel-body {
+ border-top: 1px solid #ddd; }
+
+.panel > .table > tbody:first-child > tr:first-child th,
+.panel > .table > tbody:first-child > tr:first-child td {
+ border-top: 0; }
+
+.panel > .table-bordered,
+.panel > .table-responsive > .table-bordered {
+ border: 0; }
+ .panel > .table-bordered > thead > tr > th:first-child,
+ .panel > .table-bordered > thead > tr > td:first-child,
+ .panel > .table-bordered > tbody > tr > th:first-child,
+ .panel > .table-bordered > tbody > tr > td:first-child,
+ .panel > .table-bordered > tfoot > tr > th:first-child,
+ .panel > .table-bordered > tfoot > tr > td:first-child,
+ .panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
+ .panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
+ .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
+ .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
+ .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
+ .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
+ border-left: 0; }
+ .panel > .table-bordered > thead > tr > th:last-child,
+ .panel > .table-bordered > thead > tr > td:last-child,
+ .panel > .table-bordered > tbody > tr > th:last-child,
+ .panel > .table-bordered > tbody > tr > td:last-child,
+ .panel > .table-bordered > tfoot > tr > th:last-child,
+ .panel > .table-bordered > tfoot > tr > td:last-child,
+ .panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
+ .panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
+ .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
+ .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
+ .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
+ .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
+ border-right: 0; }
+ .panel > .table-bordered > thead > tr:first-child > td,
+ .panel > .table-bordered > thead > tr:first-child > th,
+ .panel > .table-bordered > tbody > tr:first-child > td,
+ .panel > .table-bordered > tbody > tr:first-child > th,
+ .panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
+ .panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
+ .panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
+ .panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
+ border-bottom: 0; }
+ .panel > .table-bordered > tbody > tr:last-child > td,
+ .panel > .table-bordered > tbody > tr:last-child > th,
+ .panel > .table-bordered > tfoot > tr:last-child > td,
+ .panel > .table-bordered > tfoot > tr:last-child > th,
+ .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
+ .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
+ .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
+ .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
+ border-bottom: 0; }
+
+.panel > .table-responsive {
+ border: 0;
+ margin-bottom: 0; }
+
+.panel-group {
+ margin-bottom: 20px; }
+ .panel-group .panel {
+ margin-bottom: 0;
+ border-radius: 4px; }
+ .panel-group .panel + .panel {
+ margin-top: 5px; }
+ .panel-group .panel-heading {
+ border-bottom: 0; }
+ .panel-group .panel-heading + .panel-collapse > .panel-body,
+ .panel-group .panel-heading + .panel-collapse > .list-group {
+ border-top: 1px solid #ddd; }
+ .panel-group .panel-footer {
+ border-top: 0; }
+ .panel-group .panel-footer + .panel-collapse .panel-body {
+ border-bottom: 1px solid #ddd; }
+
+.panel-default {
+ border-color: #ddd; }
+ .panel-default > .panel-heading {
+ color: #333333;
+ background-color: #f5f5f5;
+ border-color: #ddd; }
+ .panel-default > .panel-heading + .panel-collapse > .panel-body {
+ border-top-color: #ddd; }
+ .panel-default > .panel-heading .badge {
+ color: #f5f5f5;
+ background-color: #333333; }
+ .panel-default > .panel-footer + .panel-collapse > .panel-body {
+ border-bottom-color: #ddd; }
+
+.panel-primary {
+ border-color: #337ab7; }
+ .panel-primary > .panel-heading {
+ color: #fff;
+ background-color: #337ab7;
+ border-color: #337ab7; }
+ .panel-primary > .panel-heading + .panel-collapse > .panel-body {
+ border-top-color: #337ab7; }
+ .panel-primary > .panel-heading .badge {
+ color: #337ab7;
+ background-color: #fff; }
+ .panel-primary > .panel-footer + .panel-collapse > .panel-body {
+ border-bottom-color: #337ab7; }
+
+.panel-success {
+ border-color: #d6e9c6; }
+ .panel-success > .panel-heading {
+ color: #3c763d;
+ background-color: #dff0d8;
+ border-color: #d6e9c6; }
+ .panel-success > .panel-heading + .panel-collapse > .panel-body {
+ border-top-color: #d6e9c6; }
+ .panel-success > .panel-heading .badge {
+ color: #dff0d8;
+ background-color: #3c763d; }
+ .panel-success > .panel-footer + .panel-collapse > .panel-body {
+ border-bottom-color: #d6e9c6; }
+
+.panel-info {
+ border-color: #bce8f1; }
+ .panel-info > .panel-heading {
+ color: #31708f;
+ background-color: #d9edf7;
+ border-color: #bce8f1; }
+ .panel-info > .panel-heading + .panel-collapse > .panel-body {
+ border-top-color: #bce8f1; }
+ .panel-info > .panel-heading .badge {
+ color: #d9edf7;
+ background-color: #31708f; }
+ .panel-info > .panel-footer + .panel-collapse > .panel-body {
+ border-bottom-color: #bce8f1; }
+
+.panel-warning {
+ border-color: #faebcc; }
+ .panel-warning > .panel-heading {
+ color: #8a6d3b;
+ background-color: #fcf8e3;
+ border-color: #faebcc; }
+ .panel-warning > .panel-heading + .panel-collapse > .panel-body {
+ border-top-color: #faebcc; }
+ .panel-warning > .panel-heading .badge {
+ color: #fcf8e3;
+ background-color: #8a6d3b; }
+ .panel-warning > .panel-footer + .panel-collapse > .panel-body {
+ border-bottom-color: #faebcc; }
+
+.panel-danger {
+ border-color: #ebccd1; }
+ .panel-danger > .panel-heading {
+ color: #a94442;
+ background-color: #f2dede;
+ border-color: #ebccd1; }
+ .panel-danger > .panel-heading + .panel-collapse > .panel-body {
+ border-top-color: #ebccd1; }
+ .panel-danger > .panel-heading .badge {
+ color: #f2dede;
+ background-color: #a94442; }
+ .panel-danger > .panel-footer + .panel-collapse > .panel-body {
+ border-bottom-color: #ebccd1; }
+
+.embed-responsive {
+ position: relative;
+ display: block;
+ height: 0;
+ padding: 0;
+ overflow: hidden; }
+ .embed-responsive .embed-responsive-item,
+ .embed-responsive iframe,
+ .embed-responsive embed,
+ .embed-responsive object,
+ .embed-responsive video {
+ position: absolute;
+ top: 0;
+ left: 0;
+ bottom: 0;
+ height: 100%;
+ width: 100%;
+ border: 0; }
+
+.embed-responsive-16by9 {
+ padding-bottom: 56.25%; }
+
+.embed-responsive-4by3 {
+ padding-bottom: 75%; }
+
+.well {
+ min-height: 20px;
+ padding: 19px;
+ margin-bottom: 20px;
+ background-color: #f5f5f5;
+ border: 1px solid #e3e3e3;
+ border-radius: 4px;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); }
+ .well blockquote {
+ border-color: #ddd;
+ border-color: rgba(0, 0, 0, 0.15); }
+
+.well-lg {
+ padding: 24px;
+ border-radius: 6px; }
+
+.well-sm {
+ padding: 9px;
+ border-radius: 3px; }
+
+.close {
+ float: right;
+ font-size: 21px;
+ font-weight: bold;
+ line-height: 1;
+ color: #000;
+ text-shadow: 0 1px 0 #fff;
+ opacity: 0.2;
+ filter: alpha(opacity=20); }
+ .close:hover, .close:focus {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+ opacity: 0.5;
+ filter: alpha(opacity=50); }
+
+button.close {
+ padding: 0;
+ cursor: pointer;
+ background: transparent;
+ border: 0;
+ -webkit-appearance: none; }
+
+.modal-open {
+ overflow: hidden; }
+
+.modal {
+ display: none;
+ overflow: hidden;
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1050;
+ -webkit-overflow-scrolling: touch;
+ outline: 0; }
+ .modal.fade .modal-dialog {
+ -webkit-transform: translate(0, -25%);
+ -ms-transform: translate(0, -25%);
+ -o-transform: translate(0, -25%);
+ transform: translate(0, -25%);
+ -webkit-transition: -webkit-transform 0.3s ease-out;
+ -moz-transition: -moz-transform 0.3s ease-out;
+ -o-transition: -o-transform 0.3s ease-out;
+ transition: transform 0.3s ease-out; }
+ .modal.in .modal-dialog {
+ -webkit-transform: translate(0, 0);
+ -ms-transform: translate(0, 0);
+ -o-transform: translate(0, 0);
+ transform: translate(0, 0); }
+
+.modal-open .modal {
+ overflow-x: hidden;
+ overflow-y: auto; }
+
+.modal-dialog {
+ position: relative;
+ width: auto;
+ margin: 10px; }
+
+.modal-content {
+ position: relative;
+ background-color: #fff;
+ border: 1px solid #999;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ border-radius: 6px;
+ -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
+ box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
+ background-clip: padding-box;
+ outline: 0; }
+
+.modal-backdrop {
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1040;
+ background-color: #000; }
+ .modal-backdrop.fade {
+ opacity: 0;
+ filter: alpha(opacity=0); }
+ .modal-backdrop.in {
+ opacity: 0.5;
+ filter: alpha(opacity=50); }
+
+.modal-header {
+ padding: 15px;
+ border-bottom: 1px solid #e5e5e5; }
+ .modal-header:before, .modal-header:after {
+ content: " ";
+ display: table; }
+ .modal-header:after {
+ clear: both; }
+
+.modal-header .close {
+ margin-top: -2px; }
+
+.modal-title {
+ margin: 0;
+ line-height: 1.42857; }
+
+.modal-body {
+ position: relative;
+ padding: 15px; }
+
+.modal-footer {
+ padding: 15px;
+ text-align: right;
+ border-top: 1px solid #e5e5e5; }
+ .modal-footer:before, .modal-footer:after {
+ content: " ";
+ display: table; }
+ .modal-footer:after {
+ clear: both; }
+ .modal-footer .btn + .btn {
+ margin-left: 5px;
+ margin-bottom: 0; }
+ .modal-footer .btn-group .btn + .btn {
+ margin-left: -1px; }
+ .modal-footer .btn-block + .btn-block {
+ margin-left: 0; }
+
+.modal-scrollbar-measure {
+ position: absolute;
+ top: -9999px;
+ width: 50px;
+ height: 50px;
+ overflow: scroll; }
+
+@media (min-width: 768px) {
+ .modal-dialog {
+ width: 600px;
+ margin: 30px auto; }
+ .modal-content {
+ -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
+ box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); }
+ .modal-sm {
+ width: 300px; } }
+
+@media (min-width: 992px) {
+ .modal-lg {
+ width: 900px; } }
+
+.tooltip {
+ position: absolute;
+ z-index: 1070;
+ display: block;
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-style: normal;
+ font-weight: normal;
+ letter-spacing: normal;
+ line-break: auto;
+ line-height: 1.42857;
+ text-align: left;
+ text-align: start;
+ text-decoration: none;
+ text-shadow: none;
+ text-transform: none;
+ white-space: normal;
+ word-break: normal;
+ word-spacing: normal;
+ word-wrap: normal;
+ font-size: 12px;
+ opacity: 0;
+ filter: alpha(opacity=0); }
+ .tooltip.in {
+ opacity: 0.9;
+ filter: alpha(opacity=90); }
+ .tooltip.top {
+ margin-top: -3px;
+ padding: 5px 0; }
+ .tooltip.right {
+ margin-left: 3px;
+ padding: 0 5px; }
+ .tooltip.bottom {
+ margin-top: 3px;
+ padding: 5px 0; }
+ .tooltip.left {
+ margin-left: -3px;
+ padding: 0 5px; }
+
+.tooltip-inner {
+ max-width: 200px;
+ padding: 3px 8px;
+ color: #fff;
+ text-align: center;
+ background-color: #000;
+ border-radius: 4px; }
+
+.tooltip-arrow {
+ position: absolute;
+ width: 0;
+ height: 0;
+ border-color: transparent;
+ border-style: solid; }
+
+.tooltip.top .tooltip-arrow {
+ bottom: 0;
+ left: 50%;
+ margin-left: -5px;
+ border-width: 5px 5px 0;
+ border-top-color: #000; }
+
+.tooltip.top-left .tooltip-arrow {
+ bottom: 0;
+ right: 5px;
+ margin-bottom: -5px;
+ border-width: 5px 5px 0;
+ border-top-color: #000; }
+
+.tooltip.top-right .tooltip-arrow {
+ bottom: 0;
+ left: 5px;
+ margin-bottom: -5px;
+ border-width: 5px 5px 0;
+ border-top-color: #000; }
+
+.tooltip.right .tooltip-arrow {
+ top: 50%;
+ left: 0;
+ margin-top: -5px;
+ border-width: 5px 5px 5px 0;
+ border-right-color: #000; }
+
+.tooltip.left .tooltip-arrow {
+ top: 50%;
+ right: 0;
+ margin-top: -5px;
+ border-width: 5px 0 5px 5px;
+ border-left-color: #000; }
+
+.tooltip.bottom .tooltip-arrow {
+ top: 0;
+ left: 50%;
+ margin-left: -5px;
+ border-width: 0 5px 5px;
+ border-bottom-color: #000; }
+
+.tooltip.bottom-left .tooltip-arrow {
+ top: 0;
+ right: 5px;
+ margin-top: -5px;
+ border-width: 0 5px 5px;
+ border-bottom-color: #000; }
+
+.tooltip.bottom-right .tooltip-arrow {
+ top: 0;
+ left: 5px;
+ margin-top: -5px;
+ border-width: 0 5px 5px;
+ border-bottom-color: #000; }
+
+.popover {
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: 1060;
+ display: none;
+ max-width: 276px;
+ padding: 1px;
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-style: normal;
+ font-weight: normal;
+ letter-spacing: normal;
+ line-break: auto;
+ line-height: 1.42857;
+ text-align: left;
+ text-align: start;
+ text-decoration: none;
+ text-shadow: none;
+ text-transform: none;
+ white-space: normal;
+ word-break: normal;
+ word-spacing: normal;
+ word-wrap: normal;
+ font-size: 14px;
+ background-color: #fff;
+ background-clip: padding-box;
+ border: 1px solid #ccc;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ border-radius: 6px;
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+ box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); }
+ .popover.top {
+ margin-top: -10px; }
+ .popover.right {
+ margin-left: 10px; }
+ .popover.bottom {
+ margin-top: 10px; }
+ .popover.left {
+ margin-left: -10px; }
+
+.popover-title {
+ margin: 0;
+ padding: 8px 14px;
+ font-size: 14px;
+ background-color: #f7f7f7;
+ border-bottom: 1px solid #ebebeb;
+ border-radius: 5px 5px 0 0; }
+
+.popover-content {
+ padding: 9px 14px; }
+
+.popover > .arrow, .popover > .arrow:after {
+ position: absolute;
+ display: block;
+ width: 0;
+ height: 0;
+ border-color: transparent;
+ border-style: solid; }
+
+.popover > .arrow {
+ border-width: 11px; }
+
+.popover > .arrow:after {
+ border-width: 10px;
+ content: ""; }
+
+.popover.top > .arrow {
+ left: 50%;
+ margin-left: -11px;
+ border-bottom-width: 0;
+ border-top-color: #999999;
+ border-top-color: rgba(0, 0, 0, 0.25);
+ bottom: -11px; }
+ .popover.top > .arrow:after {
+ content: " ";
+ bottom: 1px;
+ margin-left: -10px;
+ border-bottom-width: 0;
+ border-top-color: #fff; }
+
+.popover.right > .arrow {
+ top: 50%;
+ left: -11px;
+ margin-top: -11px;
+ border-left-width: 0;
+ border-right-color: #999999;
+ border-right-color: rgba(0, 0, 0, 0.25); }
+ .popover.right > .arrow:after {
+ content: " ";
+ left: 1px;
+ bottom: -10px;
+ border-left-width: 0;
+ border-right-color: #fff; }
+
+.popover.bottom > .arrow {
+ left: 50%;
+ margin-left: -11px;
+ border-top-width: 0;
+ border-bottom-color: #999999;
+ border-bottom-color: rgba(0, 0, 0, 0.25);
+ top: -11px; }
+ .popover.bottom > .arrow:after {
+ content: " ";
+ top: 1px;
+ margin-left: -10px;
+ border-top-width: 0;
+ border-bottom-color: #fff; }
+
+.popover.left > .arrow {
+ top: 50%;
+ right: -11px;
+ margin-top: -11px;
+ border-right-width: 0;
+ border-left-color: #999999;
+ border-left-color: rgba(0, 0, 0, 0.25); }
+ .popover.left > .arrow:after {
+ content: " ";
+ right: 1px;
+ border-right-width: 0;
+ border-left-color: #fff;
+ bottom: -10px; }
+
+.carousel {
+ position: relative; }
+
+.carousel-inner {
+ position: relative;
+ overflow: hidden;
+ width: 100%; }
+ .carousel-inner > .item {
+ display: none;
+ position: relative;
+ -webkit-transition: 0.6s ease-in-out left;
+ -o-transition: 0.6s ease-in-out left;
+ transition: 0.6s ease-in-out left; }
+ .carousel-inner > .item > img,
+ .carousel-inner > .item > a > img {
+ display: block;
+ max-width: 100%;
+ height: auto;
+ line-height: 1; }
+ @media all and (transform-3d), (-webkit-transform-3d) {
+ .carousel-inner > .item {
+ -webkit-transition: -webkit-transform 0.6s ease-in-out;
+ -moz-transition: -moz-transform 0.6s ease-in-out;
+ -o-transition: -o-transform 0.6s ease-in-out;
+ transition: transform 0.6s ease-in-out;
+ -webkit-backface-visibility: hidden;
+ -moz-backface-visibility: hidden;
+ backface-visibility: hidden;
+ -webkit-perspective: 1000px;
+ -moz-perspective: 1000px;
+ perspective: 1000px; }
+ .carousel-inner > .item.next, .carousel-inner > .item.active.right {
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+ left: 0; }
+ .carousel-inner > .item.prev, .carousel-inner > .item.active.left {
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0);
+ left: 0; }
+ .carousel-inner > .item.next.left, .carousel-inner > .item.prev.right, .carousel-inner > .item.active {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ left: 0; } }
+ .carousel-inner > .active,
+ .carousel-inner > .next,
+ .carousel-inner > .prev {
+ display: block; }
+ .carousel-inner > .active {
+ left: 0; }
+ .carousel-inner > .next,
+ .carousel-inner > .prev {
+ position: absolute;
+ top: 0;
+ width: 100%; }
+ .carousel-inner > .next {
+ left: 100%; }
+ .carousel-inner > .prev {
+ left: -100%; }
+ .carousel-inner > .next.left,
+ .carousel-inner > .prev.right {
+ left: 0; }
+ .carousel-inner > .active.left {
+ left: -100%; }
+ .carousel-inner > .active.right {
+ left: 100%; }
+
+.carousel-control {
+ position: absolute;
+ top: 0;
+ left: 0;
+ bottom: 0;
+ width: 15%;
+ opacity: 0.5;
+ filter: alpha(opacity=50);
+ font-size: 20px;
+ color: #fff;
+ text-align: center;
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
+ background-color: transparent; }
+ .carousel-control.left {
+ background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
+ background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
+ background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); }
+ .carousel-control.right {
+ left: auto;
+ right: 0;
+ background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
+ background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
+ background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); }
+ .carousel-control:hover, .carousel-control:focus {
+ outline: 0;
+ color: #fff;
+ text-decoration: none;
+ opacity: 0.9;
+ filter: alpha(opacity=90); }
+ .carousel-control .icon-prev,
+ .carousel-control .icon-next,
+ .carousel-control .glyphicon-chevron-left,
+ .carousel-control .glyphicon-chevron-right {
+ position: absolute;
+ top: 50%;
+ margin-top: -10px;
+ z-index: 5;
+ display: inline-block; }
+ .carousel-control .icon-prev,
+ .carousel-control .glyphicon-chevron-left {
+ left: 50%;
+ margin-left: -10px; }
+ .carousel-control .icon-next,
+ .carousel-control .glyphicon-chevron-right {
+ right: 50%;
+ margin-right: -10px; }
+ .carousel-control .icon-prev,
+ .carousel-control .icon-next {
+ width: 20px;
+ height: 20px;
+ line-height: 1;
+ font-family: serif; }
+ .carousel-control .icon-prev:before {
+ content: '\2039'; }
+ .carousel-control .icon-next:before {
+ content: '\203a'; }
+
+.carousel-indicators {
+ position: absolute;
+ bottom: 10px;
+ left: 50%;
+ z-index: 15;
+ width: 60%;
+ margin-left: -30%;
+ padding-left: 0;
+ list-style: none;
+ text-align: center; }
+ .carousel-indicators li {
+ display: inline-block;
+ width: 10px;
+ height: 10px;
+ margin: 1px;
+ text-indent: -999px;
+ border: 1px solid #fff;
+ border-radius: 10px;
+ cursor: pointer;
+ background-color: #000 \9;
+ background-color: transparent; }
+ .carousel-indicators .active {
+ margin: 0;
+ width: 12px;
+ height: 12px;
+ background-color: #fff; }
+
+.carousel-caption {
+ position: absolute;
+ left: 15%;
+ right: 15%;
+ bottom: 20px;
+ z-index: 10;
+ padding-top: 20px;
+ padding-bottom: 20px;
+ color: #fff;
+ text-align: center;
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); }
+ .carousel-caption .btn {
+ text-shadow: none; }
+
+@media screen and (min-width: 768px) {
+ .carousel-control .glyphicon-chevron-left,
+ .carousel-control .glyphicon-chevron-right,
+ .carousel-control .icon-prev,
+ .carousel-control .icon-next {
+ width: 30px;
+ height: 30px;
+ margin-top: -10px;
+ font-size: 30px; }
+ .carousel-control .glyphicon-chevron-left,
+ .carousel-control .icon-prev {
+ margin-left: -10px; }
+ .carousel-control .glyphicon-chevron-right,
+ .carousel-control .icon-next {
+ margin-right: -10px; }
+ .carousel-caption {
+ left: 20%;
+ right: 20%;
+ padding-bottom: 30px; }
+ .carousel-indicators {
+ bottom: 20px; } }
+
+.clearfix:before, .clearfix:after {
+ content: " ";
+ display: table; }
+
+.clearfix:after {
+ clear: both; }
+
+.center-block {
+ display: block;
+ margin-left: auto;
+ margin-right: auto; }
+
+.pull-right {
+ float: right !important; }
+
+.pull-left {
+ float: left !important; }
+
+.hide {
+ display: none !important; }
+
+.show {
+ display: block !important; }
+
+.invisible {
+ visibility: hidden; }
+
+.text-hide {
+ font: 0/0 a;
+ color: transparent;
+ text-shadow: none;
+ background-color: transparent;
+ border: 0; }
+
+.hidden {
+ display: none !important; }
+
+.affix {
+ position: fixed; }
+
+@-ms-viewport {
+ width: device-width; }
+
+.visible-xs {
+ display: none !important; }
+
+.visible-sm {
+ display: none !important; }
+
+.visible-md {
+ display: none !important; }
+
+.visible-lg {
+ display: none !important; }
+
+.visible-xs-block,
+.visible-xs-inline,
+.visible-xs-inline-block,
+.visible-sm-block,
+.visible-sm-inline,
+.visible-sm-inline-block,
+.visible-md-block,
+.visible-md-inline,
+.visible-md-inline-block,
+.visible-lg-block,
+.visible-lg-inline,
+.visible-lg-inline-block {
+ display: none !important; }
+
+@media (max-width: 767px) {
+ .visible-xs {
+ display: block !important; }
+ table.visible-xs {
+ display: table !important; }
+ tr.visible-xs {
+ display: table-row !important; }
+ th.visible-xs,
+ td.visible-xs {
+ display: table-cell !important; } }
+
+@media (max-width: 767px) {
+ .visible-xs-block {
+ display: block !important; } }
+
+@media (max-width: 767px) {
+ .visible-xs-inline {
+ display: inline !important; } }
+
+@media (max-width: 767px) {
+ .visible-xs-inline-block {
+ display: inline-block !important; } }
+
+@media (min-width: 768px) and (max-width: 991px) {
+ .visible-sm {
+ display: block !important; }
+ table.visible-sm {
+ display: table !important; }
+ tr.visible-sm {
+ display: table-row !important; }
+ th.visible-sm,
+ td.visible-sm {
+ display: table-cell !important; } }
+
+@media (min-width: 768px) and (max-width: 991px) {
+ .visible-sm-block {
+ display: block !important; } }
+
+@media (min-width: 768px) and (max-width: 991px) {
+ .visible-sm-inline {
+ display: inline !important; } }
+
+@media (min-width: 768px) and (max-width: 991px) {
+ .visible-sm-inline-block {
+ display: inline-block !important; } }
+
+@media (min-width: 992px) and (max-width: 1199px) {
+ .visible-md {
+ display: block !important; }
+ table.visible-md {
+ display: table !important; }
+ tr.visible-md {
+ display: table-row !important; }
+ th.visible-md,
+ td.visible-md {
+ display: table-cell !important; } }
+
+@media (min-width: 992px) and (max-width: 1199px) {
+ .visible-md-block {
+ display: block !important; } }
+
+@media (min-width: 992px) and (max-width: 1199px) {
+ .visible-md-inline {
+ display: inline !important; } }
+
+@media (min-width: 992px) and (max-width: 1199px) {
+ .visible-md-inline-block {
+ display: inline-block !important; } }
+
+@media (min-width: 1200px) {
+ .visible-lg {
+ display: block !important; }
+ table.visible-lg {
+ display: table !important; }
+ tr.visible-lg {
+ display: table-row !important; }
+ th.visible-lg,
+ td.visible-lg {
+ display: table-cell !important; } }
+
+@media (min-width: 1200px) {
+ .visible-lg-block {
+ display: block !important; } }
+
+@media (min-width: 1200px) {
+ .visible-lg-inline {
+ display: inline !important; } }
+
+@media (min-width: 1200px) {
+ .visible-lg-inline-block {
+ display: inline-block !important; } }
+
+@media (max-width: 767px) {
+ .hidden-xs {
+ display: none !important; } }
+
+@media (min-width: 768px) and (max-width: 991px) {
+ .hidden-sm {
+ display: none !important; } }
+
+@media (min-width: 992px) and (max-width: 1199px) {
+ .hidden-md {
+ display: none !important; } }
+
+@media (min-width: 1200px) {
+ .hidden-lg {
+ display: none !important; } }
+
+.visible-print {
+ display: none !important; }
+
+@media print {
+ .visible-print {
+ display: block !important; }
+ table.visible-print {
+ display: table !important; }
+ tr.visible-print {
+ display: table-row !important; }
+ th.visible-print,
+ td.visible-print {
+ display: table-cell !important; } }
+
+.visible-print-block {
+ display: none !important; }
+ @media print {
+ .visible-print-block {
+ display: block !important; } }
+
+.visible-print-inline {
+ display: none !important; }
+ @media print {
+ .visible-print-inline {
+ display: inline !important; } }
+
+.visible-print-inline-block {
+ display: none !important; }
+ @media print {
+ .visible-print-inline-block {
+ display: inline-block !important; } }
+
+@media print {
+ .hidden-print {
+ display: none !important; } }
+
+/*$brand-primary: $cord-red;*/
+elan-map {
+ display: block;
+ width: 100%;
+ height: 380px;
+ position: relative; }
+ elan-map svg {
+ position: absolute;
+ top: 0;
+ left: 0; }
+ elan-map circle.elan,
+ elan-map rect.elan {
+ stroke: #5bc0de;
+ stroke-width: 2;
+ fill: #fff; }
+ elan-map circle.elan,
+ elan-map circle.uni {
+ cursor: pointer; }
+ elan-map .node.uni circle.uni,
+ elan-map .node.uni rect.uni {
+ stroke: #CE5650;
+ stroke-width: 2;
+ fill: #fff; }
+ elan-map .node.uni path {
+ fill: #902d28; }
+ elan-map line {
+ stroke: #CE5650;
+ stroke-width: 1; }
+ elan-map #map {
+ background: #EFEBE2; }
+ elan-map .subunit {
+ fill: #B7DAFF;
+ stroke: white;
+ stroke-width: 1px; }
+ elan-map .subunit._10 {
+ fill: transparent;
+ stroke: transparent; }
+ elan-map .exterior-boundary {
+ fill: none;
+ stroke: black;
+ stroke-linejoin: round;
+ stroke-width: 1px; }
+
+.service-container .btn {
+ font-size: 12px; }
+
+.sla input.input-sm, .sla .input-group-sm > input.form-control, .sla
+.input-group-sm > input.input-group-addon, .sla
+.input-group-sm > .input-group-btn > input.btn {
+ max-width: 60px;
+ text-align: right; }
+
+/*$brand-primary: $cord-red;*/
+service-map {
+ width: 100%;
+ height: 100px;
+ display: block; }
+ service-map .node rect {
+ fill: #fff;
+ stroke-width: 2px; }
+ service-map .node.uni rect {
+ stroke: #CE5650; }
+ service-map .node.uni path {
+ fill: #902d28; }
+ service-map .node.service rect {
+ stroke: #337ab7; }
+ service-map .node.service path {
+ fill: #1d4568; }
+ service-map .node text {
+ font: 12px sans-serif; }
+ service-map .link {
+ fill: none;
+ stroke: #ccc;
+ stroke-width: 1; }
+
+#xosEcordTopology .btn-primary-border {
+ color: #337ab7;
+ background-color: #fff;
+ border-color: #2e6da4; }
+ #xosEcordTopology .btn-primary-border:focus, #xosEcordTopology .btn-primary-border.focus {
+ color: #337ab7;
+ background-color: #e6e6e6;
+ border-color: #122b40; }
+ #xosEcordTopology .btn-primary-border:hover {
+ color: #337ab7;
+ background-color: #e6e6e6;
+ border-color: #204d74; }
+ #xosEcordTopology .btn-primary-border:active, #xosEcordTopology .btn-primary-border.active,
+ .open > #xosEcordTopology .btn-primary-border.dropdown-toggle {
+ color: #337ab7;
+ background-color: #e6e6e6;
+ border-color: #204d74; }
+ #xosEcordTopology .btn-primary-border:active:hover, #xosEcordTopology .btn-primary-border:active:focus, #xosEcordTopology .btn-primary-border:active.focus, #xosEcordTopology .btn-primary-border.active:hover, #xosEcordTopology .btn-primary-border.active:focus, #xosEcordTopology .btn-primary-border.active.focus,
+ .open > #xosEcordTopology .btn-primary-border.dropdown-toggle:hover,
+ .open > #xosEcordTopology .btn-primary-border.dropdown-toggle:focus,
+ .open > #xosEcordTopology .btn-primary-border.dropdown-toggle.focus {
+ color: #337ab7;
+ background-color: #d4d4d4;
+ border-color: #122b40; }
+ #xosEcordTopology .btn-primary-border:active, #xosEcordTopology .btn-primary-border.active,
+ .open > #xosEcordTopology .btn-primary-border.dropdown-toggle {
+ background-image: none; }
+ #xosEcordTopology .btn-primary-border.disabled:hover, #xosEcordTopology .btn-primary-border.disabled:focus, #xosEcordTopology .btn-primary-border.disabled.focus, #xosEcordTopology .btn-primary-border[disabled]:hover, #xosEcordTopology .btn-primary-border[disabled]:focus, #xosEcordTopology .btn-primary-border[disabled].focus,
+ fieldset[disabled] #xosEcordTopology .btn-primary-border:hover,
+ fieldset[disabled] #xosEcordTopology .btn-primary-border:focus,
+ fieldset[disabled] #xosEcordTopology .btn-primary-border.focus {
+ background-color: #fff;
+ border-color: #2e6da4; }
+ #xosEcordTopology .btn-primary-border .badge {
+ color: #fff;
+ background-color: #337ab7; }
diff --git a/views/ngXosViews/ecordTopology/src/css/service-map.css b/views/ngXosViews/ecordTopology/src/css/service-map.css
new file mode 100644
index 0000000..cb4ad8f
--- /dev/null
+++ b/views/ngXosViews/ecordTopology/src/css/service-map.css
@@ -0,0 +1,22 @@
+/*$brand-primary: $cord-red;*/
+service-map {
+ width: 100%;
+ height: 100px;
+ display: block; }
+ service-map .node rect {
+ fill: #fff;
+ stroke-width: 2px; }
+ service-map .node.uni rect {
+ stroke: #CE5650; }
+ service-map .node.uni path {
+ fill: #902d28; }
+ service-map .node.service rect {
+ stroke: #337ab7; }
+ service-map .node.service path {
+ fill: #1d4568; }
+ service-map .node text {
+ font: 12px sans-serif; }
+ service-map .link {
+ fill: none;
+ stroke: #ccc;
+ stroke-width: 1; }
diff --git a/views/ngXosViews/ecordTopology/src/css/vars.css b/views/ngXosViews/ecordTopology/src/css/vars.css
new file mode 100644
index 0000000..941b456
--- /dev/null
+++ b/views/ngXosViews/ecordTopology/src/css/vars.css
@@ -0,0 +1 @@
+/*$brand-primary: $cord-red;*/
diff --git a/views/ngXosViews/ecordTopology/src/index.html b/views/ngXosViews/ecordTopology/src/index.html
new file mode 100644
index 0000000..9480913
--- /dev/null
+++ b/views/ngXosViews/ecordTopology/src/index.html
@@ -0,0 +1,47 @@
+<!-- browserSync -->
+<!-- bower:css -->
+<link rel="stylesheet" href="vendor/bootstrap-css/css/bootstrap.min.css" />
+<link rel="stylesheet" href="vendor/angular-chart.js/dist/angular-chart.css" />
+<!-- endbower -->
+<!-- endcss -->
+<!-- inject:css -->
+<link rel="stylesheet" href="/css/elan-map.css">
+<link rel="stylesheet" href="/css/eline-details.css">
+<link rel="stylesheet" href="/css/main.css">
+<link rel="stylesheet" href="/css/service-map.css">
+<link rel="stylesheet" href="/css/vars.css">
+<link rel="stylesheet" href="/../../../xos/core/static/xosNgLib.css">
+<!-- endinject -->
+
+<div ng-app="xos.ecordTopology" id="xosEcordTopology" class="container-fluid">
+ <div ui-view></div>
+</div>
+
+<!-- bower:js -->
+<script src="vendor/angular/angular.js"></script>
+<script src="vendor/jquery/dist/jquery.js"></script>
+<script src="vendor/bootstrap/dist/js/bootstrap.js"></script>
+<script src="vendor/angular-bootstrap-checkbox/angular-bootstrap-checkbox.js"></script>
+<script src="vendor/topojson.v1.min/index.js"></script>
+<script src="vendor/angular-mocks/angular-mocks.js"></script>
+<script src="vendor/angular-ui-router/release/angular-ui-router.js"></script>
+<script src="vendor/angular-cookies/angular-cookies.js"></script>
+<script src="vendor/angular-animate/angular-animate.js"></script>
+<script src="vendor/angular-resource/angular-resource.js"></script>
+<script src="vendor/lodash/lodash.js"></script>
+<script src="vendor/bootstrap-css/js/bootstrap.min.js"></script>
+<script src="vendor/Chart.js/Chart.js"></script>
+<script src="vendor/angular-chart.js/dist/angular-chart.js"></script>
+<script src="vendor/d3/d3.js"></script>
+<script src="vendor/angular-recursion/angular-recursion.js"></script>
+<!-- endbower -->
+<!-- endjs -->
+<!-- inject:js -->
+<script src="/.tmp/main.js"></script>
+<script src="/.tmp/uni.service.js"></script>
+<script src="/.tmp/service-map.directive.js"></script>
+<script src="/.tmp/eline.service.js"></script>
+<script src="/.tmp/eline-map.directive.js"></script>
+<script src="/.tmp/eline-form.directive.js"></script>
+<script src="/.tmp/eline-details.directive.js"></script>
+<!-- endinject -->
\ No newline at end of file
diff --git a/views/ngXosViews/ecordTopology/src/js/eline-details.directive.js b/views/ngXosViews/ecordTopology/src/js/eline-details.directive.js
new file mode 100644
index 0000000..e4c1f7c
--- /dev/null
+++ b/views/ngXosViews/ecordTopology/src/js/eline-details.directive.js
@@ -0,0 +1,125 @@
+/**
+ * © OpenCORD
+ *
+ * Visit http://guide.xosproject.org/devguide/addview/ for more information
+ *
+ * Created by teone on 6/28/16.
+ */
+
+(function () {
+ 'use strict';
+ angular.module('xos.ecordTopology')
+ .directive('elineDetails', function() {
+ return {
+ restrict: 'E',
+ scope: {
+ },
+ bindToController: true,
+ controllerAs: 'vm',
+ templateUrl: 'templates/eline-details.tpl.html',
+ controller: function ($scope, $stateParams, Eline) {
+
+ this.eline = null;
+
+ const Resource = Eline();
+
+ Eline.get({id: $stateParams.id}).$promise
+ .then((eline) => {
+ this.eline = eline;
+ });
+
+ this.slas = [
+ {
+ name: 'Latency',
+ unit: 'ms',
+ default: 300
+ },
+ {
+ name: 'Latency Variation',
+ unit: '%',
+ default: 5
+ },
+ {
+ name: 'Packet Loss',
+ unit: '%',
+ default: 2
+ }
+ ];
+
+ this.availableServices = {
+ performance: [
+ {id: 1, label: 'WAN Accelerator'},
+ {id: 2, label: 'Traffic Analytics'},
+ {id: 3, label: 'Policy Control'},
+ ],
+ security: [
+ {id: 4, label: 'Firewall'},
+ {id: 5, label: 'Anti-virus'},
+ {id: 6, label: 'IDS'},
+ {id: 7, label: 'Encryption'},
+ ],
+ enterprise: [
+ {id: 8, label: 'vRouter'},
+ {id: 9, label: 'NAT'},
+ {id: 10, label: 'VPN'},
+ ]
+ };
+
+ this.activeServices = [];
+ this.toggleService = (service) => {
+ let isSelected = this.activeServices.indexOf(service);
+ if(isSelected !== -1){
+ this.activeServices.splice(this.activeServices.indexOf(service), 1);
+ }
+ else {
+ this.activeServices.push(service);
+ }
+ };
+
+ this.isServiceActive = (service) => {
+ let isSelected = this.activeServices.indexOf(service);
+ return (isSelected !== -1) ? true : false;
+ };
+
+ $scope.$watch(() => this.el, (val, oldval) => {
+ if(val !== oldval && this.elineUpdate.$saved){
+ this.eline.$saved = false;
+ }
+ }, true);
+
+ this.saveEline = () => {
+
+ const resource = new Eline(this.eline);
+
+ resource.$save()
+ .then(() => {
+ $scope.saved = true;
+ })
+ .catch(e => {
+ console.error(e);
+ });
+ };
+ }
+ }
+ })
+ .directive('bToMb', function() {
+ // TODO improve with this:
+ // https://gist.github.com/thomseddon/3511330
+ return {
+ require: 'ngModel',
+ restrict: 'A',
+ link: function(scope, element, attrs, ngModelController) {
+ ngModelController.$parsers.push(function(data) {
+ //convert data from view format to model format
+ return data * 1000000000; //converted
+ });
+
+ ngModelController.$formatters.push(function(data) {
+ //convert data from model format to view format
+ return data / 1000000000; //converted
+ });
+ }
+ }
+ });
+})();
+
diff --git a/views/ngXosViews/ecordTopology/src/js/eline-form.directive.js b/views/ngXosViews/ecordTopology/src/js/eline-form.directive.js
new file mode 100644
index 0000000..8a09b6b
--- /dev/null
+++ b/views/ngXosViews/ecordTopology/src/js/eline-form.directive.js
@@ -0,0 +1,185 @@
+/**
+ * © OpenCORD
+ *
+ * Visit http://guide.xosproject.org/devguide/addview/ for more information
+ *
+ * Created by teone on 6/27/16.
+ */
+
+(function () {
+ 'use strict';
+ angular.module('xos.ecordTopology')
+ .directive('elineForm', function(){
+ return {
+ restrict: 'E',
+ scope: {
+ uni: '='
+ },
+ bindToController: true,
+ controllerAs: 'vm',
+ templateUrl: 'templates/eline-form.tpl.html',
+ controller: function ($scope, $timeout, $location, _, Uni, Eline) {
+ // FORM HELPERS
+ const isUniSelected = (uni, list) => {
+ return _.findIndex(list, {id: uni.id, selected: true}) === -1 ? false : true;
+ };
+
+ const deselectOtherUni = (uni, list) => {
+ list.map(u => {
+ if(u.id !== uni.id){
+ u.selected = false;
+ u.alreadySelected = false;
+ }
+ return u;
+ })
+ };
+
+ this.selectUni = (uni, position) => {
+ if(uni.selected){
+
+ deselectOtherUni(uni, this[`${position}Unis`]);
+
+ // need to check if is selected in the other list
+ const list = position === 'start' ? 'end':'start';
+
+ if(isUniSelected(uni, this[`${list}Unis`])){
+ return uni.alreadySelected = true;
+ }
+ this.formErrors[`${position}Error`] = null;
+ return this.el[position] = uni;
+ }
+
+ this.el[position] = null;
+ return uni.alreadySelected = false;
+ };
+ // END FORM HELPERS
+
+ this.el = {};
+
+ Uni.query().$promise
+ .then((unis) => {
+ // TODO we were mapping UNIS to name, location. Bring that back to life!
+ this.startUnis = angular.copy(unis);
+ this.endUnis = angular.copy(unis);
+ this.infrastructureUnis = angular.copy(unis);
+ });
+
+ const createEline = (el) => {
+
+ // NOTE:
+ // name and latlng have been added to request, will XOS manage them?
+
+ let formatted = {
+ adminstate : 'activationrequested',
+ operstate : 'active',
+ uni1 : {'id' : el.start.id},
+ uni2 : {'id' : el.end.id},
+ sid: el.evcCfgidentifier,
+ type : 'Point_To_Point',
+ };
+
+ return formatted;
+ }
+
+
+ this.formErrors = {};
+ this.createEline = (el, form) => {
+
+ if(!el.start){
+ this.formErrors.startError = 'Select a starting point'
+ }
+
+ if(!el.end){
+ this.formErrors.endError = 'Select an ending point'
+ }
+
+ if(!el.start || !el.end){
+ return;
+ }
+
+ let eline = createEline(el);
+
+ Eline.save(eline).$promise
+ .then((res) => {
+ form.$saved = true;
+ $scope.$emit('elan.created', res);
+ //cordConfig.pages.push(res);
+
+ $timeout(() => {
+ $location.path('/');
+ }, 1000);
+ })
+ .catch(e => {
+ throw new Error(e);
+ });
+ };
+
+ $scope.$watch(() => this.el, (val, oldval) => {
+ if(val !== oldval && this.eline.$saved){
+ this.eline.$saved = false;
+ }
+ }, true);
+
+ this.prepareInfrastructure = (el_prefix, unis) => {
+
+ let i = 0;
+
+ const builElines = (elements) => {
+
+ let elines = [];
+
+ let firstEl = elements.shift();
+
+ let newElines = elements.reduce((list, end) => {
+ let el = {};
+ // prepare e-line as the form
+ el.evcCfgidentifier = `${el_prefix}-${++i}`;
+ el.start = firstEl;
+ el.end = end;
+ list.push(createEline(el))
+ return list;
+ }, []);
+
+ elines = elines.concat(...newElines);
+
+ if(elements.length === 1){
+
+ return elines;
+ }
+ else {
+ return elines.concat(...builElines(elements));
+ }
+
+ }
+
+ return builElines(unis);
+ }
+
+ this.createInfrastructure = (unis) => {
+
+ unis = _.filter(unis, {selected: true});
+ $log.info('Send request to MARC!!! - Decide the format!', unis);
+
+ let promises = [];
+
+ this.prepareInfrastructure('test', unis).forEach((eline) => {
+ promises.push(Eline().save(eline).$promise)
+ });
+
+ $q.all(promises)
+ .then((res) => {
+ res.forEach(eline => {
+ $scope.$emit('elan.created', eline);
+ cordConfig.pages.push(eline);
+ });
+
+ $timeout(() => {
+ $location.path('/home');
+ }, 1000);
+ });
+ }
+ }
+ }
+ })
+})();
+
diff --git a/views/ngXosViews/ecordTopology/src/js/eline-map.directive.js b/views/ngXosViews/ecordTopology/src/js/eline-map.directive.js
new file mode 100644
index 0000000..f93c314
--- /dev/null
+++ b/views/ngXosViews/ecordTopology/src/js/eline-map.directive.js
@@ -0,0 +1,237 @@
+/**
+ * © OpenCORD
+ *
+ * Visit http://guide.xosproject.org/devguide/addview/ for more information
+ *
+ * Created by teone on 6/28/16.
+ */
+
+(function () {
+ 'use strict';
+
+ angular.module('xos.ecordTopology')
+ .directive('elanMap', function(){
+ return {
+ restrict: 'E',
+ scope: {
+ elan: '='
+ },
+ bindToController: true,
+ controllerAs: 'vm',
+ template: '',
+ controller: function($element, $scope, $rootScope, $timeout, _, cordIcons){
+ const el = $element[0];
+ var node, projection;
+ $scope.$watch(() => this.elan, (elan) => {
+ if(elan){
+ $timeout(() => {
+ draw(angular.copy(elan));
+ }, 500)
+ }
+ }, true);
+
+ // set force layout params
+ var force = d3.layout.force();
+
+ // DRAW US MAP
+ const drawMap = () => {
+ projection = d3.geo
+ // .albersUsa()
+ .mercator()
+ .center([-122.2, 37.6])
+ .scale(28000)
+ .translate([el.clientWidth / 2, el.clientHeight / 2]);
+
+ var path = d3.geo.path()
+ .projection(projection);
+
+ var map = d3.select(el).append('svg')
+ .attr('id', 'map')
+ .attr('width', el.clientWidth)
+ .attr('height', el.clientHeight);
+
+ d3.json('/js/json/bayarea.json', function(error, ba) {
+ if (error) {
+ throw new Error(error);
+ };
+
+ //bind feature data to the map
+ map.selectAll('.subunit')
+ .data(topojson.feature(ba, ba.objects.bayareaGEO).features)
+ .enter().append('path')
+ .attr('class', function(d, i) {
+ return 'subunit ' + `_${i}`;
+ })
+ .attr('d', path);
+
+
+ });
+ };
+ // END MAP
+
+ const draw = (elan) => {
+ if (!elan[0]){
+ return;
+ }
+ // set size values
+ force
+ .size([el.clientWidth, el.clientHeight])
+ .charge(-20)
+ .chargeDistance(200)
+ // .linkDistance(80)
+ .linkStrength(0.1);
+
+ // clean svg
+ angular.element(el).children().remove();
+ drawMap();
+
+ // create svg elements
+ const svg = d3.select(el)
+ .append('svg')
+ .style('width', `${el.clientWidth}px`)
+ .style('height', `${el.clientHeight}px`)
+
+
+ var nodes = [];
+ var links = [];
+ var d3id = 0;
+ var unis_i = 0;
+ var latlng_val, lat_val, lng_val;
+
+ // cicle trough E-LINE and create nodes/links
+ _.forEach(elan, (eline) => {
+
+ let isOnMap = _.find(nodes, {id: eline.uni1.pid});
+
+ if(!isOnMap){
+ eline.uni1.fixed = true;
+ try {
+
+ //convert latlng value into array for eline.uni1
+ var uni1_latlng = eline.uni1.latlng;
+ if (typeof uni1_latlng === 'string' || uni1_latlng instanceof String){
+ latlng_val = eline.uni1.latlng;
+ lat_val = latlng_val.substring(1, latlng_val.indexOf(',') - 1);
+ lat_val = lat_val.trim();
+ lng_val = latlng_val.substring(latlng_val.indexOf(',') + 1, latlng_val.length - 1);
+ lng_val = lng_val.trim()
+ eline.uni1.latlng = [lat_val, lng_val];
+ }
+
+ let ps = projection([eline.uni1.latlng[0], eline.uni1.latlng[1]]);
+ eline.uni1.x = ps[0];
+ eline.uni1.y = ps[1];
+ eline.uni1.pid = eline.uni1.pid || d3id++;
+ nodes.push(eline.uni1)
+ }
+ catch(e){
+ throw new Error(e);
+ }
+ }
+ else {
+ eline.uni1.pid = isOnMap.id;
+ }
+
+ isOnMap = _.find(nodes, {id: eline.uni2.pid});
+ if(!isOnMap){
+ eline.uni2.fixed = true;
+ try {
+
+ //convert latlng value into array for eline.uni2
+ var uni2_latlng = eline.uni2.latlng;
+ if (typeof uni2_latlng === 'string' || uni2_latlng instanceof String){
+ latlng_val = eline.uni2.latlng;
+ lat_val = latlng_val.substring(1, latlng_val.indexOf(',') - 1);
+ lat_val = lat_val.trim();
+ lng_val = latlng_val.substring(latlng_val.indexOf(',') + 1, latlng_val.length - 1);
+ lng_val = lng_val.trim()
+ eline.uni2.latlng = [lat_val, lng_val];
+ }
+
+ let ps = projection([eline.uni2.latlng[0], eline.uni2.latlng[1]]);
+ eline.uni2.x = ps[0];
+ eline.uni2.y = ps[1];
+ eline.uni2.pid = eline.uni2.pid || d3id++;
+ nodes.push(eline.uni2)
+ }
+ catch(e){
+ throw new Error(e);
+ }
+ }
+ else {
+ eline.uni2.pid = isOnMap.id;
+ }
+
+ links.push({
+ source: _.findIndex(nodes, eline.uni1),
+ target: _.findIndex(nodes, eline.uni2),
+ value: 1
+ });
+
+ });
+
+ // start force layout
+ force
+ .nodes(nodes)
+ .links(links)
+ .start();
+
+ // draw links
+ var link = svg.selectAll('.link')
+ .data(links)
+ .enter().append('line')
+ .attr({
+ class: 'link',
+ });
+
+ //draw nodes
+ node = svg.selectAll('.node')
+ .data(nodes)
+ .enter()
+ .append('g', d => d.scaEthFppUniN.interfaceCfgIdentifier)
+ .attr({
+ class: d => `node ${d.type ? d.type : 'uni'}`
+ });
+
+ node.append('rect')
+ .attr({
+ class: d => d.type ? d.type : 'uni',
+ width: 24,
+ height: 24,
+ x: -12,
+ y: -12
+ });
+
+ node.append('path')
+ .attr({
+ d: cordIcons.cordLogo,
+ transform: 'translate(-10, -10),scale(0.18)'
+ });
+
+ node.append('text')
+ .attr({
+ x: 0,
+ y: 25,
+ 'text-anchor': 'middle'
+ })
+ .text(d => {
+ return d.pid
+ });
+
+
+ force.on('tick', function() {
+ link
+ .attr('x1', function(d) { return d.source.x; })
+ .attr('y1', function(d) { return d.source.y; })
+ .attr('x2', function(d) { return d.target.x; })
+ .attr('y2', function(d) { return d.target.y; });
+
+ node.attr('transform', (d) => `translate(${d.x},${d.y})`);
+ });
+ };
+
+ }
+ }
+ });
+})();
+
diff --git a/views/ngXosViews/ecordTopology/src/js/eline.service.js b/views/ngXosViews/ecordTopology/src/js/eline.service.js
new file mode 100644
index 0000000..731c545
--- /dev/null
+++ b/views/ngXosViews/ecordTopology/src/js/eline.service.js
@@ -0,0 +1,45 @@
+/**
+ * © OpenCORD
+ *
+ * Visit http://guide.xosproject.org/devguide/addview/ for more information
+ *
+ * Created by teone on 6/27/16.
+ */
+
+(function () {
+ 'use strict';
+
+ angular.module('xos.ecordTopology')
+ .service('Eline', ($resource) => {
+ return $resource(`/api/service/metronetworkservice/SCA_ETH_FDFr_EC/:id`, {id: '@id'}, {
+ query: {
+ isArray: true,
+ interceptor: {
+ response: (res) => {
+ const augmentedEline = _.map(res.data, (eline, i) => {
+ //convert latlng value into array for eline.uni1
+ var latlng_val = eline.uni1.latlng;
+ var lat_val = latlng_val.substring(1, latlng_val.indexOf(',') - 1);
+ lat_val = lat_val.trim();
+ var lng_val = latlng_val.substring(latlng_val.indexOf(',') + 1, latlng_val.length - 1);
+ lng_val = lng_val.trim()
+ eline.uni1.latlng = [lat_val, lng_val];
+
+ //convert latlng value into array for eline.uni2
+ latlng_val = eline.uni2.latlng;
+ lat_val = latlng_val.substring(1, latlng_val.indexOf(',') - 1);
+ lat_val = lat_val.trim();
+ lng_val = latlng_val.substring(latlng_val.indexOf(',') + 1, latlng_val.length - 1);
+ lng_val = lng_val.trim()
+ eline.uni2.latlng = [lat_val, lng_val];
+
+ return eline;
+ });
+ return augmentedEline;
+ }
+ }
+ }
+ });
+ });
+})();
+
diff --git a/views/ngXosViews/ecordTopology/src/js/json/bayarea.json b/views/ngXosViews/ecordTopology/src/js/json/bayarea.json
new file mode 100644
index 0000000..8ee256f
--- /dev/null
+++ b/views/ngXosViews/ecordTopology/src/js/json/bayarea.json
@@ -0,0 +1 @@
+{"type":"Topology","transform":{"scale":[0.0004337206541371423,0.00032161558393900655],"translate":[-124.80279358329095,36.36000640296134]},"objects":{"bayareaGEO":{"type":"GeometryCollection","geometries":[{"type":"Polygon","arcs":[[0],[1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14,15],[16],[17],[18],[19,20,21,22,23,24],[25,26,27],[28,29,30,31],[32],[33],[34],[35],[36],[37,38,39,40,41,42,43,44],[45],[46],[47,48,49,50,51,52,53,54],[55],[56],[57,58,59,60,61,62,63,64,65,66,67,68],[69],[70,71,72,73,74,75,76,77,78,79,80,-22,81],[82],[83],[84],[85],[86],[87],[88],[89],[90],[91,-63,92,93,94,95,96,97,98,99,100,101,102,-65,103,104,105,106,107,-43,108,-41,109,-39,110],[111],[112],[113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141]]}]}},"arcs":[[[2334,3790],[220,128],[-2554,2271],[16,3810],[8786,-813],[1197,-7628],[-1345,-1558],[-2636,1490],[-270,-168],[-2981,38],[-433,2430]],[[4144,4175],[1,1],[-1,0],[0,-1]],[[4146,4173],[1,0],[0,1],[0,1],[-1,-1],[0,-1]],[[4081,4251],[1,-1],[1,0],[0,1],[0,1],[-1,0],[-1,-1]],[[3212,7135],[1,-1],[1,0],[0,1],[-1,1],[-1,0],[0,-1]],[[3924,4373],[1,0],[1,0],[1,1],[-1,0],[-1,1],[-1,-1],[0,-1]],[[4649,4935],[1,-1],[1,2],[0,1],[-1,0],[-1,-1],[0,-1]],[[3930,4365],[1,-1],[1,0],[0,1],[-1,1],[-2,0],[-1,-1],[1,0],[0,-1],[1,1]],[[3927,4376],[1,-1],[1,0],[1,0],[-1,1],[-1,1],[-1,0],[0,-1]],[[4148,4177],[0,-1],[1,0],[1,2],[0,1],[-1,0],[-1,-1],[0,-1]],[[5370,4995],[0,-1],[1,-2],[3,1],[-3,2],[-1,0]],[[5269,4414],[1,0],[1,1],[-1,1],[0,1],[-1,0],[-1,0],[0,-1],[0,-1],[1,0],[0,-1]],[[2936,7434],[2,-1],[1,1],[0,1],[-2,1],[-2,0],[0,-1],[0,-1],[1,0]],[[4146,4145],[1,0],[1,0],[2,1],[1,1],[-1,1],[-2,-1],[-2,-1],[0,-1]],[[6650,5258],[-1,0],[0,1]],[[6649,5259],[-1,-1],[-1,0],[-1,0],[-1,0],[-1,0],[0,-1],[1,0],[1,0],[1,0],[0,-1],[1,0],[1,1],[1,1]],[[3908,4386],[0,-1],[2,1],[1,0],[0,2],[0,1],[-1,1],[0,1],[-1,-1],[0,-1],[1,-1],[0,-1],[-2,-1]],[[5273,4408],[1,1],[0,1],[0,1],[-1,1],[-1,-1],[-1,0],[0,-1],[-1,0],[0,-1],[1,0],[0,-1],[1,0],[1,0]],[[4168,5814],[1,-1],[1,0],[2,2],[-1,2],[-1,0],[-1,-1],[-1,-1],[0,-1]],[[6558,5347],[-1,0],[0,1]],[[6557,5348],[-1,0],[-1,0],[-1,0],[-1,0]],[[6553,5348],[-1,0]],[[6552,5348],[0,-1],[-1,0]],[[6551,5347],[1,-1],[0,-1]],[[6552,5345],[1,0],[1,0],[0,1],[1,0],[1,0],[1,0],[1,1]],[[6518,5341],[0,1],[-1,1],[0,1],[0,1],[0,1],[-1,1],[0,1],[0,1],[0,1]],[[6516,5350],[-1,0],[0,1],[0,1]],[[6515,5352],[-1,-1],[0,-1],[1,0],[0,-1],[0,-1],[0,-1],[0,-1],[-1,0],[0,-1],[0,-1],[0,-1],[1,-1],[1,0],[0,-1],[1,0],[1,0]],[[6564,5349],[0,-1],[-1,0],[-1,0]],[[6562,5348],[0,-1],[-1,0],[-1,0],[-1,0],[-1,0]],[[6558,5347],[0,-1],[1,0],[0,-1],[1,0],[1,-1],[1,0],[1,-1]],[[6563,5343],[1,1],[0,1],[1,1],[0,1],[0,1],[0,1],[-1,0]],[[5377,4991],[5,-5],[5,4],[-10,1]],[[5601,4793],[5,-6],[5,4],[-10,2]],[[6507,5297],[-1,1],[-2,1],[-1,0],[1,-3],[-1,0],[0,-1],[-1,0],[-2,0],[-1,1],[-1,-1],[-2,0],[0,-1],[1,0],[1,0],[1,0],[1,0],[2,0],[1,-1],[2,0],[2,1],[1,0],[0,1],[-1,2]],[[5685,2329],[-1,1],[0,1],[-1,0],[-1,0],[-1,-1],[1,0],[-2,0],[1,-1],[1,-1],[1,0],[1,0],[0,-1],[-1,0],[0,-1],[1,1],[0,-1],[-1,0],[0,-1],[1,0],[0,-1],[1,0],[0,1],[1,0],[1,0],[1,-2],[1,0],[0,1],[1,0],[-1,1],[0,1],[-1,0],[0,1],[0,1],[-1,0],[-1,0],[-1,1]],[[5484,4560],[4,-3],[2,-1],[3,1],[-3,5],[-2,2],[-3,1],[-1,1],[-3,0],[3,-6]],[[6662,5319],[1,-1],[0,-2],[0,-1],[0,-1],[0,-1]],[[6663,5313],[0,-1],[0,-2]],[[6663,5310],[1,-1],[0,-2],[0,-3]],[[6664,5304],[1,-1]],[[6665,5303],[1,-1],[0,-1],[0,-2]],[[6666,5299],[1,-1],[0,-1],[1,-1]],[[6668,5296],[1,0],[-1,1],[0,1],[0,1],[-1,1],[0,1],[-1,1],[0,1],[-1,1],[0,3],[0,2],[0,2],[0,2],[1,2]],[[6666,5315],[0,3],[-1,1],[0,2],[0,1],[-1,1],[0,-1],[-1,0],[-1,0],[-1,1],[-1,-1],[-1,0],[-1,0],[-1,-1],[-2,0],[0,-1],[1,0],[1,0],[1,0],[1,0],[2,0],[1,-1]],[[4126,4167],[0,-1],[-1,-1],[1,-2],[0,-1],[0,-1],[1,0],[2,0],[0,-1],[-1,-1],[1,-2],[1,-1],[1,0],[0,2],[0,1],[1,0],[2,0],[1,0],[1,1],[0,1],[-1,1],[-1,2],[-2,0],[0,1],[-1,1],[-1,0],[-1,1],[-2,0],[-1,0]],[[5805,4378],[-1,0],[0,1],[-2,2],[-1,-1],[-5,-8],[3,-4],[3,-3],[10,-1],[-11,6],[1,7],[1,-1],[2,0],[2,-1],[-2,3]],[[6674,5341],[0,1]],[[6674,5342],[0,1],[1,0]],[[6675,5343],[1,1],[1,1],[1,0]],[[6678,5345],[1,1],[0,1]],[[6679,5347],[-1,0],[0,1],[-4,2],[-1,1],[-4,6],[0,1]],[[6669,5358],[-1,0],[-1,-1]],[[6667,5357],[0,-1],[-1,0]],[[6666,5356],[1,-1],[0,-1],[1,0],[0,-1],[0,-1],[1,-1],[0,-1],[0,-1],[1,0],[0,-1],[1,0],[0,-1],[0,-1],[0,-1],[1,-1],[0,-1],[1,-1],[0,-1],[-1,0],[0,-1],[0,-1],[-1,0],[1,0],[1,0],[1,0],[1,0],[0,1],[-1,1]],[[6246,3403],[-6,12],[-6,-2],[-2,0],[4,-8],[11,-3],[-1,1]],[[6519,5327],[-1,1],[-1,1],[0,1],[-1,1],[0,1],[0,1],[0,1],[-1,0],[0,1],[-1,0],[0,1],[-1,0],[0,-1],[-1,-1],[1,-1],[1,-1],[0,-1],[0,-1],[-1,0],[0,-1],[-1,0],[-1,0],[0,-1],[0,-1],[0,-1],[0,1],[-1,0],[1,-1],[0,-1],[1,0],[0,-1],[0,-1],[1,0],[-1,-1],[1,0],[1,-1],[1,0],[1,-1],[1,0],[1,0],[1,1],[1,0],[1,0],[1,-1],[1,0],[0,1],[1,0],[0,1],[1,0],[0,1],[-1,0],[-1,1],[-2,1],[-1,1],[-1,1]],[[6649,5281],[1,1],[0,1]],[[6650,5283],[0,1],[1,1]],[[6651,5285],[0,1],[1,2]],[[6652,5288],[0,2],[-2,24]],[[6650,5314],[0,2],[1,0]],[[6651,5316],[1,1]],[[6652,5317],[1,1],[0,1],[-1,-1],[-1,0],[-1,-1],[-1,0],[0,-1],[-1,0],[-1,-1],[1,-1],[0,-1],[0,-1],[-1,0],[-1,-1],[1,-1],[1,0],[0,-1],[0,-1],[0,-1],[0,-1],[1,-1],[0,-1],[0,-1],[0,-1],[0,-2],[1,-1],[0,-1],[0,-1],[0,-1],[0,-1],[-1,-1],[0,-1],[0,-1],[-1,-1],[1,-1],[1,0],[0,-1],[-1,-1],[0,-1],[0,-3],[-1,-1],[0,-1],[-1,-1],[-2,-1],[-1,0],[-1,0],[-1,-1],[-1,-1],[-2,0],[-2,-1],[-1,-1],[-1,-1],[-1,0],[-2,0],[-2,-1],[-1,0],[-1,-1],[1,0]],[[6629,5273],[1,0]],[[6630,5273],[2,1],[1,0],[1,0],[1,0]],[[6635,5274],[1,1],[2,1]],[[6638,5276],[2,1]],[[6640,5277],[1,1],[2,1],[1,0],[1,-1],[1,-2],[1,4],[1,1],[1,0]],[[4893,4830],[-1,1],[0,1],[-1,0],[-1,1],[0,-1],[-1,-1],[0,-1],[1,-1],[0,-1],[0,-1],[-1,-1],[-1,0],[-1,0],[-1,1],[0,1],[0,1],[-1,0],[0,1],[-1,0],[0,-1],[0,-2],[0,-1],[0,-1],[1,-1],[0,-1],[1,0],[1,-1],[1,0],[1,1],[1,0],[0,1],[1,1],[1,-1],[1,0],[1,0],[1,0],[1,0],[1,0],[2,0],[0,-1],[1,0],[1,0],[1,0],[1,-1],[1,0],[1,0],[1,1],[1,1],[1,1],[0,1],[-1,1],[0,1],[-1,1],[-3,0],[-1,-1],[-1,1],[-1,0],[-1,0],[-1,1],[-1,0],[-1,1],[-1,-1],[-1,0],[-1,0]],[[6543,5349],[0,-1],[1,-1]],[[6544,5347],[1,0],[1,-1],[0,-1]],[[6546,5345],[1,0],[0,-1],[-1,-1],[-1,0],[-1,0]],[[6544,5343],[-1,-1]],[[6543,5342],[0,-1],[-1,0]],[[6542,5341],[0,-1],[-1,0],[-1,-1]],[[6540,5339],[0,-1],[-1,0]],[[6539,5338],[1,0],[-1,-1]],[[6539,5337],[0,-1],[0,-1],[0,-1],[-1,0],[0,-1],[1,0],[1,0],[1,0],[0,-1],[1,-1],[1,1],[1,0],[1,0],[1,1],[1,0],[0,1],[1,1],[0,1],[0,1],[1,1],[1,1],[1,0],[0,-1],[1,0],[1,1],[0,1],[0,1],[0,1],[0,1],[0,1],[-1,0],[0,1]],[[6552,5345],[-1,0],[0,1],[0,1]],[[6551,5347],[0,1],[1,0]],[[6553,5348],[0,1],[1,0],[1,0],[-11,1],[-1,-1]],[[6282,3559],[0,7],[-2,6],[-7,-2],[-5,-7],[3,-7],[6,-1],[5,4]],[[5895,4419],[-8,10],[-8,4],[-4,-1],[16,-20],[4,0],[0,7]],[[5637,4792],[0,-4],[-5,1],[-19,2],[9,-5],[10,1],[5,-3],[1,-11],[14,-4],[-15,23]],[[6422,5409],[-2,2],[-2,0],[-2,-2],[-1,0],[-1,0],[-2,-1],[-2,-2],[-2,0],[-1,0],[-1,-1],[-1,-2],[1,0],[0,1],[1,0],[0,-1],[0,-1],[1,0],[1,-1],[0,-2],[2,0],[2,0],[1,-1],[1,0],[1,-1],[3,0],[3,0],[2,0],[1,0],[0,1],[0,1],[1,1],[0,3],[-1,2],[-1,1],[-2,3]],[[4148,4169],[0,2],[-2,1],[-1,-2],[0,-2],[0,-1],[1,-1],[-1,0],[-1,0],[0,-1],[0,-1],[-2,0],[0,-1],[-1,-2],[-1,0],[-2,0],[0,-1],[0,-1],[1,0],[2,-1],[1,1],[1,-1],[1,-2],[1,0],[0,2],[1,0],[1,0],[1,-2],[0,-1],[1,-2],[2,-1],[3,-1],[1,0],[0,3],[1,1],[0,1],[-1,1],[1,0],[1,0],[1,0],[0,1],[-2,2],[0,1],[1,1],[0,1],[-1,1],[0,1],[0,1],[-1,0],[-1,2],[-2,1],[-1,-1],[-2,0],[0,1],[-1,0]],[[6496,5352],[-2,2],[0,1],[-1,2],[-1,1],[-1,1],[-1,0],[-1,-1],[-1,0],[-1,-1],[0,-1],[-1,-1],[1,0],[0,-1],[-1,0],[0,-1],[-1,0],[0,-1],[-1,0],[-1,0],[-1,0],[0,-1],[-1,0],[-1,0],[1,-1],[-1,0],[0,-1],[0,-1],[1,0],[1,0],[0,-1],[0,-1],[0,-1],[1,0],[1,0],[1,1],[1,0],[0,-1],[1,0],[0,-1],[-1,-1],[-1,-1],[-1,-1],[0,-1],[1,0],[1,0],[0,1],[1,1],[1,-1],[1,0],[0,1],[1,-1],[1,0],[1,0],[0,-1],[0,-1],[1,0],[1,0],[1,0],[0,-1],[0,-1],[1,1],[1,1],[1,-1],[1,0],[1,1],[1,0],[1,-1],[1,-1],[1,0],[1,0],[1,1],[1,1],[-1,0],[0,1],[0,1],[-1,0],[-1,0],[0,1],[-1,1],[-1,1],[-1,1],[0,1],[-1,0],[0,1],[-1,0],[0,1],[-1,1],[-1,2],[-1,1]],[[6389,5330],[-4,1],[-4,1],[-1,1],[-1,0],[-2,0],[-2,-1],[-3,-1],[-1,-1],[-2,0],[-1,-1],[-3,0],[-2,0],[-3,1],[-2,-1],[0,-1],[1,-2],[0,-1],[-1,-1],[0,-1],[-1,0],[-2,0],[-1,-1],[0,-1],[0,-1],[2,0],[1,1],[2,-1],[0,-1],[1,0],[0,-1],[1,0],[1,0],[1,0],[3,-1],[2,0],[2,-1],[1,-1],[3,0],[2,0],[3,1],[1,-1],[2,0],[1,-1],[1,-1],[1,0],[1,0],[1,0],[2,0],[2,0],[1,0],[2,-1],[0,-1],[1,0],[1,1],[1,0],[0,1],[1,1],[1,0],[1,1],[1,1],[2,2],[1,1],[1,0],[2,2],[1,0],[1,0],[1,1],[1,0],[-1,0],[0,1],[-2,0],[-2,-1],[-1,0],[-1,0],[-2,1],[-2,0],[-3,2],[-3,1],[-1,1],[-2,1],[-2,2]],[[5615,4571],[-3,3],[-10,4],[-12,-6],[0,-3],[-1,-3],[-1,-4],[-1,-1],[17,-35],[1,-2],[-1,-10],[-1,-2],[11,-10],[1,-1],[2,0],[10,-1],[1,3],[1,6],[0,1],[2,2],[0,1],[-1,3],[4,4],[1,3],[-1,1],[-20,-8],[-7,11],[4,3],[9,5],[1,-2],[1,1],[-1,0],[2,1],[0,1],[-2,-2],[0,1],[2,1],[0,3],[0,1],[4,-1],[0,1],[-4,1],[1,1],[3,-1],[0,1],[-2,1],[-1,0],[0,1],[1,0],[3,-1],[0,1],[-3,2],[0,1],[-2,5],[-1,3],[-4,7],[-2,4],[0,2],[0,-1],[0,1],[1,1],[0,-1],[1,0],[-1,1],[1,0],[1,-2],[1,1],[-3,5],[1,-3],[-1,0],[0,1],[-1,0],[0,-1],[0,-1],[0,1],[-1,0],[1,0],[0,-1],[-1,0],[0,2]],[[5492,4660],[2,5],[3,6],[-4,4],[-5,11],[-1,3],[-4,8],[-14,5],[-3,-6],[-3,-1],[-3,-2],[0,-2],[-1,-2],[1,-2],[-6,-2],[-3,5],[-4,-10],[-2,-8],[-12,-5],[6,-4],[-1,-2],[1,1],[3,-5],[0,-5],[4,-3],[3,1],[7,-5],[5,-1],[8,6],[13,-2],[6,-3],[9,-4],[0,2],[-5,17]],[[6662,5319],[-1,0],[-1,0],[-1,0],[-1,0],[-1,0],[-1,0],[0,-1],[0,-1],[-1,0],[-1,0],[-1,0],[-1,0]],[[6651,5316],[0,-1],[-1,0],[0,-1]],[[6650,5314],[2,-24]],[[6652,5290],[0,-1],[0,-1]],[[6652,5288],[0,-1],[-1,-2]],[[6651,5285],[0,-1],[0,-1],[-1,0]],[[6650,5283],[0,-1]],[[6650,5282],[0,-1],[-1,0]],[[6649,5281],[0,-1],[-1,0],[-1,-1],[0,-1],[0,-1],[0,-1],[0,-1],[1,-1],[0,-1],[1,0],[0,-1],[-1,-1],[-4,7],[-1,0],[-1,0],[-1,-1],[-1,0]],[[6640,5277],[-1,0],[0,-1],[-1,0]],[[6638,5276],[0,-1],[-1,0],[0,-1],[-1,0],[-1,0]],[[6635,5274],[-1,-1],[-1,0],[-1,0],[-2,0]],[[6629,5273],[-1,-1],[-1,0],[-1,0],[-1,0],[-5,1],[-1,0],[0,-1],[-1,-2],[0,-1],[-1,0],[0,-1],[0,-1],[-1,0],[0,-1],[1,-1],[1,0],[1,0],[1,-1],[1,0],[1,0],[1,0],[1,0],[1,0],[-1,0],[-1,0],[-1,0],[-1,0],[-1,0],[-1,0],[-1,0],[-1,1],[-1,0],[0,1],[0,2],[1,1],[0,1],[1,1],[0,1],[0,1],[1,1],[1,0],[1,0],[1,0],[1,0],[1,0],[1,-1],[0,1],[-1,0],[-1,0],[-1,1],[-1,0],[-1,0],[-1,0],[-1,0],[0,-1],[-1,-1],[-1,-1],[-1,-1],[-1,0],[0,-1],[1,-1],[0,-1],[0,-1],[0,-1],[1,-1],[0,-1],[1,0],[1,0],[1,-1],[0,-1],[1,0],[1,0],[1,1],[1,0],[1,-1],[0,-1],[1,0],[2,-2],[1,0],[1,1],[1,-1],[1,0],[0,-1],[1,1],[1,0],[0,1],[1,0],[0,1],[0,1],[1,-1],[1,0],[1,0],[1,-1],[1,0],[1,0],[1,-1],[1,0],[1,0],[1,0],[1,0],[1,0],[1,0],[1,0],[1,0]],[[6649,5259],[1,0],[1,0],[1,0],[1,0],[1,0],[0,-1],[1,0],[0,1],[1,0],[0,1],[-7,11],[7,-11],[1,0],[0,-1],[-1,0],[-1,-1],[-1,-1],[-1,0],[-1,0],[-1,1],[-1,0]],[[6650,5258],[0,-1],[1,0],[1,0],[0,-1],[1,0],[1,-1],[1,1],[1,0],[0,2],[1,0],[1,-2],[1,0],[-1,2],[1,0],[0,-2],[1,-1],[0,1],[1,0],[1,0],[1,0],[1,0],[1,0],[1,0],[1,0],[2,0],[1,0],[1,0],[1,0],[1,0],[1,0],[1,0],[2,1],[1,0],[1,-1],[1,-1],[1,0],[13,1],[0,1],[-1,1],[-1,0],[-1,-1],[-1,1],[-1,-1],[-1,0],[-1,0],[-2,0],[-1,0],[-1,0],[10,1],[1,0],[1,0],[1,0],[1,0],[1,1],[7,6],[-1,-1],[0,-1],[-1,-1],[-1,0],[0,-1],[-1,-1],[-1,0],[-1,-1],[-1,0],[-1,-1],[-3,-1],[0,-1],[2,0],[0,-1],[1,1],[1,1],[2,1],[1,0],[1,1],[1,1],[1,1],[1,0],[0,1],[1,0],[1,1],[1,0],[1,0],[-5,6],[-2,2],[-1,2],[-2,2],[-1,1],[-2,1],[-1,1],[-1,1],[-1,0],[-2,1],[-1,0],[-1,0],[-2,1]],[[6687,5281],[-2,0]],[[6685,5281],[-1,0],[-2,0],[-1,0],[-1,1],[-1,0],[-1,0],[-1,1],[-1,0],[0,1],[-1,0],[-1,1],[0,1],[-1,1],[-1,1],[-1,1],[0,1],[-2,0],[0,1],[0,2],[-1,3]],[[6666,5299],[-1,2],[0,1],[0,1]],[[6664,5304],[0,2],[-1,1],[0,1],[0,2]],[[6663,5313],[-1,5],[0,1]],[[6373,5380],[-1,1],[0,1],[-1,1],[0,-1],[-1,-1],[0,-2],[-1,-1],[-2,-1],[0,-1],[1,0],[1,1],[1,0],[0,-1],[1,-1],[1,-1],[0,-1],[2,0],[1,-1],[0,-1],[0,-1],[1,-1],[0,-1],[0,-1],[0,-1],[-2,-2],[0,-1],[-1,0],[1,-1],[1,-1],[0,-1],[0,-1],[0,-1],[-1,-1],[-1,-1],[0,-2],[1,1],[1,0],[1,-2],[2,-1],[1,0],[1,-1],[2,1],[1,0],[1,0],[2,0],[1,2],[3,2],[2,1],[0,1],[1,1],[1,1],[1,2],[2,0],[1,0],[1,-1],[1,0],[2,0],[1,-2],[-1,0],[-1,1],[0,-2],[1,-1],[1,0],[0,-1],[0,-1],[-1,-1],[1,0],[2,-1],[2,-2],[1,-1],[0,-1],[-1,-1],[-1,-1],[-1,-1],[0,-1],[0,-1],[1,-1],[0,-2],[1,-1],[1,-1],[1,-1],[0,-1],[0,1],[0,1],[1,0],[0,1],[0,-1],[0,-3],[-1,-2],[-1,-2],[-2,-2],[0,-1],[0,-1],[1,0],[2,-1],[2,-1],[3,-1],[2,0],[1,1],[1,-1],[1,0],[1,-1],[1,0],[1,1],[1,2],[2,2],[-1,-2],[0,-2],[1,0],[1,-1],[2,0],[2,-1],[1,1],[1,2],[2,0],[4,1],[4,2],[3,2],[3,2],[1,1],[1,0],[0,-1],[2,0],[2,0],[0,1],[-1,1],[-1,1],[-1,1],[0,-1],[1,-1],[-1,0],[-1,0],[0,1],[-1,1],[1,1],[2,2],[2,2],[1,0],[3,1],[1,1],[1,0],[0,1],[1,0],[0,1],[0,1],[0,1],[0,1],[0,1],[1,1],[0,1],[0,1],[0,1],[0,1],[0,1],[0,1],[0,1],[-1,1],[-1,1],[-1,0],[-2,0],[-2,1],[-4,2],[-6,3],[-4,1],[-4,2],[-3,1],[-3,1],[-2,0],[-1,1],[-1,0],[-2,0],[-2,0],[-1,0],[-3,1],[-1,0],[-1,0],[-3,-1],[-2,0],[-2,1],[-1,0],[-3,-1],[-1,-1],[0,1],[-1,0],[-1,0],[0,1],[-1,0],[0,1],[-1,1],[0,-1],[0,-1],[-1,0],[-2,0],[0,-1],[-2,1],[-1,-1],[-1,0],[-1,0],[-2,0],[-1,0],[-1,1],[-1,0],[-1,2],[-2,0],[0,1],[-1,1],[-1,0],[-1,0],[-1,0],[0,-1],[-1,-1],[-2,2],[-1,2],[-1,0],[-1,0],[-2,1]],[[5696,4448],[0,-8],[1,-17],[0,-2],[2,-3],[8,0],[6,-1],[4,-4],[13,0],[5,-9],[3,0],[9,-2],[7,0],[5,-3],[7,-4],[-2,-4],[20,-6],[2,0],[4,-1],[0,-3],[4,3],[2,-3],[1,-1],[5,3],[4,0],[1,-2],[1,-1],[1,2],[2,1],[1,1],[3,2],[0,-1],[0,-5],[3,0],[1,0],[0,-2],[-4,-3],[0,-2],[5,5],[2,1],[5,-2],[0,-13],[24,-14],[18,-9],[16,-8],[29,-13],[3,-1],[1,0],[0,1],[1,0],[3,2],[2,-2],[16,15],[3,3],[0,13],[0,5],[0,4],[0,5],[-5,5],[-1,1],[-1,2],[-5,6],[-1,0],[-2,1],[-8,5],[-4,2],[-5,3],[-12,10],[-9,1],[-6,4],[-2,6],[-1,-1],[-8,2],[2,5],[-5,-9],[-4,3],[3,8],[-6,4],[-2,-14],[-2,1],[0,14],[-2,0],[-1,0],[-4,3],[-2,1],[-1,0],[-1,1],[-1,-1],[-4,-2],[-1,6],[-1,1],[-2,4],[3,-2],[-6,5],[-8,4],[-1,5],[-1,-1],[-3,3],[0,1],[-8,2],[-17,0],[-1,-5],[0,5],[-2,-5],[0,5],[-1,-5],[-1,4],[-1,-4],[0,4],[-7,-3],[-3,-1],[-7,0],[-12,0],[-13,4],[-9,3],[-11,4],[-34,11],[0,-1],[0,-22]],[[6515,5352],[1,0],[0,-1],[0,-1]],[[6516,5350],[1,0],[0,-2],[0,-1],[1,-2],[0,-1],[0,-1],[0,-2]],[[6518,5341],[1,-2],[0,-1],[1,-1],[0,-1],[1,0],[0,-2],[0,-1],[0,-1],[1,-1],[0,-1],[1,0],[2,-1],[2,0],[1,0],[1,1],[1,0],[1,0],[0,1],[1,0],[1,0],[0,-1],[1,0],[1,0],[0,1],[1,0],[-1,0],[-1,0],[0,1],[1,0],[1,1],[0,1],[1,0],[0,1],[1,0],[0,1],[0,1],[1,0]],[[6539,5337],[0,1]],[[6539,5338],[0,1],[1,0]],[[6540,5339],[2,2]],[[6542,5341],[0,1],[1,0]],[[6543,5342],[0,1],[1,0]],[[6544,5343],[1,1],[1,0],[0,1]],[[6546,5345],[-2,2]],[[6544,5347],[-1,0],[0,1]],[[6543,5348],[0,1]],[[6543,5349],[0,1],[1,1],[5,-1],[4,0],[2,0],[1,0],[1,0],[0,-1],[0,-1]],[[6557,5348],[1,0],[1,0],[1,0],[1,0],[1,0]],[[6562,5348],[1,1],[1,0]],[[6564,5349],[1,1],[1,0],[1,1],[1,1],[1,1],[0,1],[0,1],[1,1],[0,1],[1,1],[0,1],[0,1],[1,1],[0,1],[0,1],[1,0],[0,-1],[1,0],[-1,0],[0,-1],[-1,0],[0,-1],[-1,-1],[0,-1],[0,-1],[0,-1],[-1,-1],[0,-1],[-1,-1],[0,-1],[-1,-1],[0,-1],[-1,0],[-4,-7]],[[6563,5343],[0,-1],[0,-1],[0,-1],[0,-1],[1,0],[1,0],[0,-1],[1,0],[1,0],[0,-1],[1,0],[0,1],[1,-1],[1,0],[1,0],[0,-1],[1,0],[0,-1],[1,1],[0,-1],[1,0],[1,0],[0,-1],[0,-1],[0,1],[1,0],[0,1],[1,0],[0,1],[1,1],[0,1],[-1,1],[0,-1],[-1,0],[-1,0],[0,-1],[0,1],[0,1],[0,1],[0,1],[1,0],[0,1],[1,0],[0,1],[1,1],[0,1],[1,0],[0,1],[1,1],[0,1],[1,0],[1,0],[0,-1],[1,-1],[0,-1],[1,0],[0,-1],[-1,1],[0,-1],[0,1],[-1,0],[-1,-1],[-1,0],[0,-1],[-1,-1],[-1,-1],[1,0],[1,0],[0,1],[1,0],[1,0],[1,0],[-1,0],[-1,-1],[-1,0],[-1,0],[0,-1],[-1,0],[0,-1],[1,0],[1,1],[1,0],[1,0],[1,-1],[1,-1],[1,1],[0,-1],[1,0],[0,1],[0,1],[1,0],[1,0],[0,1],[1,0],[1,0],[1,0],[1,0],[0,1],[1,0],[1,-1],[1,1],[1,1],[1,0],[0,1],[1,0],[1,1],[1,0],[0,1],[0,1],[1,0],[1,0],[1,1],[1,0],[1,0],[1,1],[0,1],[1,0],[0,-1],[0,-1],[1,-1],[1,0],[1,0],[1,0],[1,0],[1,0],[1,0],[0,1],[1,0],[1,0],[0,-1],[0,1],[1,0],[0,1],[1,0],[0,1],[1,0],[1,0],[0,1],[1,0],[1,0],[1,0],[0,1],[1,0],[0,1],[-1,1],[1,0],[1,-1],[-1,0],[0,-1],[1,0],[1,0],[0,-1],[0,-1],[1,0],[0,-1],[1,1],[1,0],[0,1],[1,0],[0,-1],[1,0],[1,0],[1,1],[1,0],[1,0],[0,-1],[1,1],[1,0],[1,0],[1,0],[1,0],[0,1],[1,0],[0,1],[4,3],[1,0],[-4,-3],[3,1],[1,0],[1,1],[1,1],[0,1],[-1,1],[0,-1],[-1,1],[1,0],[1,0],[1,-2],[1,1],[1,0],[1,0],[0,-1],[1,0],[1,1],[1,0],[1,0],[1,0],[1,0],[1,0],[1,0],[1,1],[0,-1],[1,0],[0,1],[1,-1],[1,0],[0,-1],[1,0],[1,0]],[[6666,5356],[0,1],[1,0]],[[6667,5357],[-1,1],[0,1],[0,1],[-1,1],[-1,1],[1,0],[1,0],[0,-1],[0,-1],[0,-1],[1,-1],[1,0]],[[6668,5358],[1,0]],[[6669,5358],[1,0],[1,-1],[8,-10]],[[6679,5347],[0,-2],[-1,0]],[[6678,5345],[-1,-1],[-1,-1],[-1,0]],[[6675,5343],[-1,-1],[0,-1]],[[6674,5341],[1,0],[1,-1],[0,-1],[1,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[-1,0],[-1,0],[-2,-1],[-1,-2],[-3,-9],[-1,0],[1,1],[0,1],[0,2],[1,0],[0,1],[0,1],[1,1],[0,1],[0,2],[0,1],[1,0],[0,1],[-1,-1],[-1,0],[0,-1],[0,-1],[0,-1],[0,-1],[-1,-1],[0,-1],[0,-1],[0,-1],[-1,0],[0,-1],[0,-1],[-1,-1],[0,-1],[0,-2],[0,-2],[-1,-1]],[[6666,5315],[1,-3],[0,-2],[0,-2],[0,-2],[0,-2],[1,-1],[-1,-1],[1,-1],[1,-3],[1,-2],[1,-1],[1,-2],[1,-1],[0,-1],[1,-1],[0,-1],[1,-2],[1,-2],[1,-1],[1,0],[1,-1],[1,0],[2,-1],[2,0],[1,-1]],[[6685,5281],[1,0],[1,0]],[[6687,5281],[2,0],[2,0],[1,0],[2,-1],[1,0],[1,-1],[1,0],[1,-1],[1,-1],[1,-1],[1,-1],[1,-1],[1,-2],[2,-1],[1,-1],[1,-1],[0,-1],[1,1],[0,-1],[0,-1],[1,-1],[1,0],[1,0],[1,0],[1,-1],[1,0],[1,0],[0,1],[1,0],[1,0],[1,0],[1,0],[1,1],[1,0],[1,0],[1,0],[0,1],[1,0],[1,0],[0,1],[1,0],[0,1],[1,0],[1,1],[1,0],[1,0],[1,1],[1,0],[0,-1],[2,0],[1,1],[1,1],[1,0],[1,1],[1,0],[0,1],[-1,-1],[-1,0],[0,-1],[-1,0],[-1,0],[0,-1],[-1,0],[-1,0],[-1,0],[-1,0],[-1,0],[-1,0],[-1,0],[-1,0],[-1,-1],[-1,0],[-1,-1],[-1,0],[-1,-1],[-1,0],[-1,-1],[-1,0],[-2,0],[-1,0],[-1,0],[-1,0],[-1,0],[-1,0],[-1,1],[1,0],[6,-1],[0,1],[1,0],[1,0],[1,0],[1,1],[1,0],[1,1],[1,1],[1,0],[0,1],[1,0],[1,0],[1,0],[1,0],[1,0],[1,0],[1,0],[1,0],[1,1],[1,0],[1,1],[1,0],[0,1],[1,0],[0,1],[1,1],[1,0],[1,1],[1,1],[1,0],[0,1],[1,0],[1,1],[1,0],[1,1],[0,-28],[-5,-2],[-5,-2],[-7,-3],[-2,0],[-6,-2],[-1,0],[-5,-2],[-5,0],[-4,-1],[-7,-1],[-6,-1],[-5,-1],[-4,0],[-4,0],[-5,-1],[-4,0],[-4,0],[-4,0],[-4,1],[-4,0],[-4,0],[-4,1],[-4,0],[-3,1],[-3,1],[-3,0],[-3,1],[-5,1],[-1,1],[-2,0],[-4,1],[-4,2],[-3,1],[-3,1],[-2,1],[-3,2],[-2,1],[-2,1],[-4,2],[-3,1],[-3,2],[-3,1],[-2,1],[-2,1],[-4,1],[-5,2],[-1,0],[-6,2],[-9,2],[-1,0],[-25,3],[-29,-1],[-20,2],[-1,0],[-24,6],[-4,-5],[-10,2],[-1,-1],[-5,-4],[-11,4],[-7,1],[-7,0],[5,4],[9,-1],[6,-1],[0,1],[-2,1],[-13,1],[-3,-1],[-5,0],[1,0],[0,-1],[0,-1],[0,-1],[-4,0],[-4,1],[0,1],[4,1],[-1,1],[-13,-4],[-3,-1],[-12,-3],[-8,-3],[-1,2],[-1,1],[0,-1],[0,-1],[1,-1],[-1,0],[-7,-4],[-2,-2],[-9,-4],[-8,-5],[-3,0],[-7,1],[-1,0],[-1,0],[-20,6],[-7,-2],[-5,3],[0,-1],[-4,-5],[3,-6],[-3,1],[-3,-2],[-19,-7],[-12,-4],[3,-6],[-1,0],[-6,6],[-3,-1],[-4,-2],[-1,-1],[3,-6],[-5,3],[-2,0],[-3,-1],[-2,0],[-1,-1],[-2,0],[-39,-16],[0,-1],[-9,-7],[-3,-3],[-1,-2],[-1,0],[-2,-4],[-2,-1],[-10,-4],[-2,-2],[-5,-5],[-1,-1],[-5,-5],[-8,-1],[-4,0],[-4,-1],[-5,-6],[-2,-1],[-7,-3],[-1,0],[-2,-1],[-5,0],[-11,4],[-5,1],[-4,2],[-17,10],[-3,2],[-6,3],[-1,2],[-11,15],[-1,5],[0,1],[-2,7],[-9,18],[-11,11],[-16,13],[-6,1],[-19,4],[-1,0],[-4,1],[-2,1],[0,2],[-5,1],[0,-2],[-19,8],[-13,1],[-9,0],[0,-5],[-2,0],[-1,0],[-1,0],[0,2],[-19,1],[-14,4],[-9,0],[-3,-1],[-1,-1],[-5,-5],[-10,-9],[-6,-2],[0,-2],[-6,0],[-7,1],[-3,15],[-6,-1],[1,-1],[4,1],[2,-8],[0,-1],[0,-3],[-1,-1],[1,0],[0,-1],[-1,-1],[-2,-2],[-1,-6],[1,-2],[-2,-17],[-3,-1],[1,-2],[-2,-5],[-1,-1],[-11,-4],[-1,2],[-7,-1],[-1,-2],[0,-3],[-1,-2],[-2,1],[1,-3],[0,-2],[0,-1],[-6,-14],[-4,-9],[-7,-15],[-6,-3],[-4,-2],[-7,6],[0,-7],[2,0],[-6,-11],[-5,-3],[-5,-3],[-1,-1],[0,-3],[-2,0],[-6,-10],[-1,-1],[-11,0],[-12,-1],[-1,1],[-1,0],[-4,1],[-2,0],[-1,0],[-4,1],[-1,3],[0,-3],[-1,0],[-2,-1],[-3,-3],[-20,-20],[-4,-2],[-2,-3],[-3,-1],[-7,0],[-19,5],[-8,6],[-12,9],[-13,0],[-12,3],[-4,10],[-7,-1],[-3,-17],[5,-22],[0,-2],[4,-8],[1,1],[7,-6],[3,-11],[-6,-15],[-4,2],[2,-4],[-3,-1],[4,-3],[-9,-16],[-2,5],[-3,-4],[3,-2],[1,-3],[-11,-11],[-25,5],[-1,-2],[0,2],[-5,-15],[0,-9],[-2,-2],[5,-1],[-6,-12],[-16,-3],[-1,-7],[2,-7],[-2,-1],[0,-1],[-4,3],[-7,-1],[1,-3],[8,-6],[-8,-8],[-19,8],[-10,3],[0,3],[1,7],[-4,9],[-2,2],[-4,1],[-9,-3],[-11,7],[-9,2],[-2,0],[-1,0],[-2,-3],[1,-8],[4,-3],[6,-11],[2,-3],[3,-2],[1,0],[6,-8],[3,-6],[-4,-4],[-5,-6],[0,-2],[0,-1],[4,-3],[1,0],[3,2],[15,-10],[3,-13],[-6,-9],[9,-11],[1,-4],[18,-1],[3,-6],[-1,-5],[-18,-14],[0,1],[-4,-3],[-8,11],[-1,0],[12,-17],[1,1],[-3,4],[2,2],[2,-4],[1,1],[-3,3],[19,14],[5,7],[12,-10],[5,-4],[1,-8],[10,-7],[-7,-30],[-8,-8],[1,0],[3,1],[1,1],[2,2],[5,1],[0,-4],[3,0],[1,0],[5,1],[2,4],[1,1],[1,0],[1,0],[0,1],[0,3],[1,0],[0,-1],[1,-3],[0,-1],[-2,-1],[0,-1],[0,-1],[0,-1],[1,0],[0,1],[0,1],[1,1],[1,0],[1,0],[0,1],[0,1],[-1,0],[-1,3],[1,0],[6,-3],[0,-1],[-1,-3],[-1,-1],[-2,-1],[-1,1],[0,1],[-1,0],[0,-1],[0,-1],[1,-1],[1,0],[2,0],[1,1],[1,1],[0,1],[1,3],[1,0],[4,-5],[9,-7],[-3,-3],[5,1],[-3,-2],[9,-2],[3,1],[7,2],[-6,38],[-14,13],[-4,2],[-7,4],[3,4],[6,-1],[12,-12],[2,12],[0,-16],[9,-1],[1,5],[1,-8],[1,-3],[1,-9],[0,-7],[2,-8],[11,-1],[2,0],[0,3],[2,13],[2,-11],[1,11],[6,0],[6,0],[0,-4],[0,-12],[-10,0],[0,-4],[27,3],[7,0],[-2,13],[5,-10],[3,4],[-1,-6],[3,4],[3,-1],[3,-2],[3,2],[1,-2],[6,1],[-4,-3],[13,-4],[4,-7],[-16,10],[19,-14],[0,1],[-2,5],[2,-1],[4,-5],[-1,-3],[-1,0],[-2,3],[-18,-8],[12,-19],[13,13],[3,-3],[6,-4],[8,-15],[-17,-9],[3,-7],[3,-9],[2,-7],[2,-3],[4,-11],[6,-21],[-14,-4],[-2,4],[-4,6],[-13,-5],[8,-14],[1,5],[7,1],[1,-2],[4,-2],[3,-7],[-2,-1],[-3,-1],[-2,0],[-3,-1],[-3,6],[-1,0],[0,-8],[2,1],[-2,-1],[0,-2],[3,-12],[0,-1],[2,4],[0,7],[7,3],[2,4],[11,2],[1,2],[1,-20],[4,11],[2,-4],[7,-34],[-1,-10],[-4,-3],[0,-2],[6,1],[4,-18],[-11,-3],[0,-2],[0,-1],[-3,0],[-15,-3],[0,-2],[27,-1],[4,-10],[0,-2],[5,-10],[-10,4],[0,-8],[-22,-3],[-3,2],[-8,5],[-7,-5],[-8,-11],[-20,-8],[0,-1],[1,-3],[2,0],[20,4],[0,-8],[8,8],[8,1],[9,-3],[0,-6],[-9,0],[-2,0],[-13,-13],[-3,-2],[-4,-9],[-1,-3],[-24,1],[-1,-2],[-19,-17],[3,-6],[6,3],[11,5],[7,5],[3,2],[2,0],[1,-1],[4,-1],[0,-3],[-1,-4],[-3,-10],[-7,-1],[-2,0],[-1,0],[-1,-2],[11,-7],[18,-5],[16,-4],[15,-4],[22,0],[6,2],[0,2],[1,0],[1,-2],[1,2],[2,4],[1,0],[-1,-3],[2,-2],[3,7],[1,0],[0,-2],[2,-1],[6,0],[5,-1],[0,-1],[2,2],[3,-1],[-1,-1],[2,0],[1,0],[5,-3],[3,-3],[3,-1],[0,-1],[2,-1],[1,2],[1,-3],[6,-5],[6,-1],[-1,-2],[10,5],[2,-1],[-2,-1],[-2,-4],[2,1],[-1,-3],[3,1],[-2,-3],[3,1],[5,2],[3,2],[1,-1],[-6,-8],[7,-3],[12,6],[12,-5],[1,0],[2,-1],[7,-9],[2,1],[0,-3],[-1,-1],[2,-3],[-2,-2],[0,-5],[8,-13],[2,-1],[3,-4],[5,-4],[8,-5],[3,-2],[3,-1],[1,0],[12,-15],[1,-6],[3,-13],[6,4],[5,2],[5,3],[2,0],[5,0],[3,-7],[-3,-2],[-4,-4],[2,6],[1,0],[0,4],[-4,2],[-1,-1],[-4,-5],[3,-4],[1,-4],[3,-15],[2,-1],[0,-1],[3,1],[2,2],[3,1],[4,1],[-7,-3],[-5,-4],[-1,-1],[0,-2],[-1,-1],[13,-22],[-3,-2],[-1,2],[-1,1],[-2,1],[0,3],[-1,4],[-2,3],[-3,3],[-4,3],[-3,2],[-1,1],[-1,0],[11,-24],[2,-2],[1,-2],[0,-2],[0,-3],[8,-24],[-2,2],[-1,-1],[-1,1],[-8,21],[-3,7],[-17,19],[-7,-2],[-1,0],[1,4],[-3,0],[-22,2],[-1,0],[-5,0],[-10,1],[-17,1],[-1,-1],[-4,-3],[-3,-2],[-1,-1],[-2,-1],[-2,-2],[-7,-5],[0,-7],[0,-4],[3,-3],[1,0],[1,-1],[0,-2],[0,-1],[1,-1],[27,-37],[-3,1],[-9,2],[-1,0],[-1,0],[0,-1],[-2,-2],[0,-2],[0,-1],[1,0],[13,-13],[8,-2],[66,-65],[7,9],[-2,23],[4,5],[25,8],[11,3],[-2,-2],[-15,-9],[8,-23],[16,3],[-3,15],[1,-3],[5,-23],[1,-1],[-3,-1],[-1,-4],[-7,-1],[-2,-10],[2,-1],[0,1],[1,9],[11,0],[1,-7],[-6,-1],[-5,-1],[15,1],[0,-1],[-3,-12],[-3,-3],[-4,9],[-5,1],[1,-3],[8,-9],[6,2],[6,1],[17,-28],[8,-3],[9,-10],[5,-12],[2,-3],[3,1],[-1,-3],[6,-5],[3,-9],[1,-4],[0,-1],[0,-4],[8,-23],[0,-1],[2,-1],[-3,-1],[8,-28],[1,-11],[1,-5],[1,-19],[1,-11],[0,-7],[3,-16],[3,-21],[-1,0],[-1,-1],[0,-1],[2,1],[0,-1],[0,-2],[1,-2],[1,-1],[1,-2],[0,-3],[2,-2],[0,-1],[0,-1],[0,-2],[0,-2],[0,-3],[1,-3],[0,-1],[1,-3],[1,-1],[-1,-1],[0,-1],[0,-1],[0,-1],[1,0],[0,-1],[-1,0],[0,-1],[0,-1],[1,0],[-1,-1],[0,-2],[1,-1],[1,0],[0,-1],[1,0],[0,-1],[1,0],[-1,-2],[0,-1],[0,-1],[1,-2],[0,-1],[-4,-28],[-1,-4],[-1,-2],[1,-1],[0,-2],[0,-2],[1,0],[0,-1],[0,-1],[1,-1],[0,-1],[0,-1],[0,-1],[0,-2],[0,-1],[1,-2],[0,-2],[0,-1],[0,-2],[0,-2],[1,0],[0,-2],[0,-1],[1,-1],[1,-1],[1,0],[1,0],[0,1],[1,-1],[0,-1],[0,-1],[1,-1],[1,-2],[1,-2],[1,-1],[0,-1],[0,-1],[0,-1],[1,-1],[0,-1],[0,-1],[1,-1],[0,-1],[1,-1],[0,-1],[0,-1],[1,-1],[0,-1],[1,0],[0,-2],[0,-1],[1,-1],[0,-2],[0,-1],[0,-1],[0,-1],[1,-1],[0,-1],[1,0],[1,-1],[0,-1],[1,-1],[1,0],[0,-1],[1,-1],[0,-2],[1,-1],[0,-1],[0,-1],[1,-1],[0,-1],[0,-2],[1,-2],[0,-1],[0,-1],[1,-2],[0,-1],[0,-1],[1,-1],[0,-1],[1,-1],[0,-1],[0,-1],[1,-1],[1,-1],[1,0],[1,0],[1,0],[2,0],[3,6],[19,-53],[22,-53],[4,-31],[0,-3],[-1,-21],[-2,-6],[1,-1],[1,-3],[3,-17],[1,-2],[7,-9],[4,-1],[3,0],[1,0],[33,12],[-1,3],[3,-3],[1,5],[1,5],[3,-1],[6,6],[8,4],[0,-1],[1,-1],[2,-9],[-1,-5]],[[6282,3559],[-4,-5],[-1,-3],[12,-3],[12,-1],[-10,-1],[5,-2],[12,-3],[15,-2],[15,-10],[1,-6],[30,2],[5,0],[9,-7],[5,-15],[2,-16],[8,-11],[5,1],[3,14],[-2,-15],[0,-3],[-7,1],[-11,17],[-5,22],[-10,6],[-2,0],[-36,-3],[-1,0],[9,-41],[-3,-17],[8,-17],[19,6],[3,1],[8,2],[45,-5],[42,6],[16,-2],[13,-10],[18,15],[10,-2],[2,0],[0,-5],[-2,1],[-7,3],[-17,-14],[-5,-2],[-10,1],[11,-5],[26,-6],[3,0],[-1,-2],[0,-1],[-10,1],[-2,0],[-28,11],[-3,-5],[-4,4],[-59,-8],[6,-20],[1,-24],[20,1],[13,-19],[27,-10],[1,-15],[-3,13],[-26,9],[-13,19],[-21,-1],[-4,27],[-9,18],[-4,0],[-9,1],[-19,-18],[-2,-2],[-1,0],[3,-1],[12,-5],[3,-3],[5,-5],[-5,-15],[2,15],[-3,1],[-10,3],[-21,-8],[-8,-5],[-1,6],[-24,-10],[-9,-2],[-8,15],[-14,-4],[-9,3],[-2,-5],[-5,11],[-6,0],[0,-3],[-4,0],[-4,0],[-3,2],[-7,4],[2,-8],[0,-1],[1,-1],[0,-3],[1,-4],[0,-3],[-1,-4],[2,-3],[-2,3],[-1,2],[0,1],[0,2],[0,2],[-1,-1],[0,2],[0,1],[1,5],[-2,2],[0,1],[-1,3],[-2,4],[-10,3],[-11,9],[-2,-4],[-4,-1],[1,-2],[-1,-1],[-1,3],[-9,-1],[5,-11],[-4,2],[-3,8],[1,4],[7,9],[-2,1],[-4,-4],[0,2],[-3,0],[-3,-2],[2,-4],[-2,-2],[-3,0],[0,4],[9,8],[6,-3],[-2,-7],[4,-2],[2,2],[5,6],[1,3],[-1,12],[-8,-4],[-3,-2],[-7,7],[-3,-1],[-3,2],[-2,-1],[-4,5],[-1,1],[-1,2],[-1,1],[0,1],[-4,7],[-7,4],[-3,8],[-1,8],[3,4],[-1,1],[-4,-1],[-2,34],[-3,12],[-5,26],[-12,17],[-15,8],[-43,-23],[-12,7],[-8,5],[-3,1],[-1,0],[-21,18],[-8,24],[-1,6],[-3,3],[-2,-3],[-2,-9],[-12,8],[-2,2],[-14,10],[5,27],[1,0],[-3,7],[-3,7],[-23,7],[-22,-3],[-3,12],[-14,-1],[-1,6],[0,7],[-4,3],[-4,2],[-2,3],[-2,1],[-4,3],[-3,2],[-5,0],[-2,0],[-5,0],[-5,1],[-5,2],[-3,2],[-3,1],[-11,-11],[-2,1],[2,3],[10,10],[2,11],[-11,20],[-1,2],[-7,8],[-12,9],[-9,9],[-2,1],[-2,1],[-6,0],[-15,-8],[-6,-1],[-4,3],[-1,-1],[-4,0],[-2,0],[-1,0],[-1,0],[0,1],[1,6],[0,2],[-1,0],[-2,1],[-2,1],[-2,1],[0,1],[-1,0],[0,1],[-3,1],[-4,1],[-1,0],[-2,-1],[-1,0],[-1,-1],[-1,0],[-3,-1],[-1,0],[-6,-9],[0,-1],[0,-1],[2,-2],[1,-1],[-3,0],[0,-1],[-3,0],[-1,2],[-1,0],[0,1],[-1,-1],[0,1],[-1,0],[-2,1],[0,12],[-13,1],[-6,-2],[-3,4],[-8,7],[-6,8],[-9,11],[0,2],[1,-1],[4,3],[-2,16],[0,2],[-8,-1],[-5,2],[-7,-3],[-20,-9],[-3,-1],[-1,0],[0,16],[-4,-1],[-4,1],[0,-9],[0,-4],[0,-4],[-1,0],[-40,3],[-4,1],[0,1],[4,0],[3,4],[6,0],[0,-5],[31,-1],[0,6],[0,7],[-1,0],[-5,1],[0,-1],[0,-2],[2,-1],[2,0],[-1,-3],[0,-1],[-4,0],[-2,-1],[-3,-1],[-2,2],[-3,-1],[0,-2],[-2,-1],[-1,1],[0,3],[-2,-1],[-1,1],[0,4],[2,1],[4,0],[5,0],[0,2],[0,1],[-16,-1],[-15,0],[-4,0],[-1,0],[-3,0],[-10,11],[2,1],[0,2],[-1,3],[-3,-1],[-5,8],[-4,4],[-5,4],[-7,4],[-5,3],[-3,1],[0,5],[12,22],[3,3],[6,-3],[25,-13],[8,18],[-21,11],[-4,4],[-3,2],[-2,1],[5,15],[2,4],[-1,3],[-5,3],[-2,-6],[-8,4],[-3,-3],[-9,5],[-6,10],[-1,-7],[-12,-5],[-8,5],[-1,8],[7,7],[12,0],[-3,3],[-4,5],[-1,0],[-3,5],[-13,-2],[3,5],[-2,14],[-6,-9],[4,-11],[-7,2],[-2,0],[0,1],[0,1],[1,0],[1,0],[0,1],[-3,-1],[-1,1],[4,1],[-1,1],[-3,-1],[3,2],[0,1],[-4,-2],[0,1],[4,1],[-1,1],[-4,-1],[4,2],[0,1],[-4,-2],[0,1],[3,1],[0,1],[1,0],[1,1],[1,2],[2,3],[0,1],[0,1],[1,2],[-1,0],[-1,0],[0,1],[5,6],[3,0],[3,0],[6,1],[17,0],[2,9],[4,2],[1,2],[-3,6],[2,2],[0,2],[3,0],[3,1],[-1,1],[-1,-1],[-5,6],[-5,5],[0,4],[12,1],[0,5],[0,4],[-17,1],[0,1],[0,2],[0,6],[-11,0],[1,-3],[0,-3],[0,-1],[-4,-3],[2,-1],[-3,-1],[0,4],[-1,2],[0,1],[-6,-1],[-2,1],[-1,-1],[-5,-3],[-1,1],[2,2],[4,2],[0,2],[3,0],[0,3],[-4,0],[1,1],[1,1],[3,1],[6,0],[2,0],[1,1],[0,1],[1,2],[15,-1],[0,2],[0,24],[-15,0],[-2,4],[-4,25],[-1,5],[-8,57],[-1,2],[2,1],[1,1],[3,2],[2,-2],[2,2],[4,-3],[3,5],[8,-1],[6,-1],[5,0],[5,1],[1,1],[0,1],[-1,1],[-2,1],[-1,1],[0,-1],[-1,-2],[-1,-1],[-2,-1],[-2,-1],[0,1],[-2,2],[0,1],[-1,1],[0,1],[1,2],[10,13],[-18,14],[1,5],[-5,5],[0,1],[0,2],[5,-4],[3,-3],[1,-2],[2,-1],[2,1],[0,2],[0,3],[1,1],[2,1],[2,0],[2,0],[2,2],[0,2],[-1,1],[1,0],[2,-2],[1,-1],[-1,-1],[-1,-1],[-2,-2],[-1,-2],[1,-4],[1,-1],[0,-2],[2,-1],[2,-3],[0,-1],[1,-1],[0,-1],[3,0],[1,0],[1,0],[2,0],[0,-1],[2,0],[2,-1],[2,-1],[2,-1],[1,-2],[3,-2],[1,1],[2,0],[1,0],[8,-5],[0,1],[-8,6],[2,4],[9,-6],[1,0],[4,37],[1,6],[-7,5],[-15,17],[-3,-4],[-6,-10],[-5,5],[-7,0],[-1,3],[1,2],[-1,0],[0,1],[0,2],[2,4],[0,1],[-3,2],[3,4],[9,0],[-7,12],[-6,11],[-24,-2],[-1,1],[-7,0],[-4,1],[-1,1],[0,2],[1,0],[4,-2],[7,0],[2,1],[1,2],[7,-1],[5,6],[2,8],[-3,0],[1,1],[0,1],[2,2],[-5,-2],[-1,0],[-1,3],[0,1],[-3,-1],[1,2],[7,0],[0,6],[-1,0],[0,1],[1,2],[-1,0],[-1,-1],[1,1],[0,5],[1,0],[2,0],[0,9],[-1,-1],[1,-6],[-2,0],[0,6],[0,-6],[-1,0],[0,4],[0,3],[-1,5],[-1,0],[1,-5],[-1,0],[-1,5],[0,-5],[-1,0],[0,5],[-1,0],[0,-5],[0,-1],[-1,6],[-1,0],[1,-5],[-1,0],[-1,3],[-4,-1],[-1,1],[2,3],[0,3],[-1,0],[0,1],[2,0],[0,3],[6,0],[0,1],[-4,0],[0,1],[3,0],[0,1],[-1,0],[-1,1],[-2,0],[1,2],[-2,4],[5,-2],[1,2],[-7,2],[-2,7],[1,0],[0,1],[4,0],[8,-4],[-2,9],[-11,-1],[0,2],[5,1],[0,3],[1,7],[-1,2],[-6,-1],[0,2],[7,1],[0,1],[-7,0],[0,1],[7,1],[0,1],[-8,0],[1,1],[7,1],[-1,1],[-7,0],[1,1],[6,0],[0,2],[-6,-1],[0,2],[4,0],[0,1],[0,1],[-4,0],[0,2],[4,0],[0,1],[-5,0],[1,2],[7,1],[-1,5],[-6,-1],[0,2],[5,1],[-1,1],[-3,0],[0,2],[4,1],[-1,1],[-3,-1],[-1,1],[2,1],[2,2],[-2,-1],[-4,-1],[0,1],[0,1],[4,2],[0,1],[-5,-2],[-1,1],[-1,1],[-1,2],[-1,1],[0,1],[-3,4],[0,1],[-1,1],[1,1],[2,2],[-1,2],[-3,-3],[-3,4],[1,1],[1,2],[0,1],[-4,-3],[-1,1],[4,3],[-1,1],[-4,-3],[-1,1],[4,3],[-1,1],[-3,-3],[-1,1],[5,4],[-1,1],[-5,-4],[0,1],[-1,1],[5,4],[-1,1],[-5,-3],[-1,0],[5,4],[-3,4],[-5,-4],[0,2],[5,3],[-1,2],[-5,-4],[-1,1],[5,4],[-1,1],[-5,-4],[-1,1],[5,5],[-1,1],[-4,-4],[-2,2],[3,6],[-1,1],[-3,-4],[-2,2],[3,4],[-1,1],[-3,-5],[-2,1],[2,6],[-1,0],[-2,-5],[-2,0],[0,9],[-1,0],[0,-6],[-3,1],[-2,7],[-1,-1],[2,-6],[-3,1],[-3,7],[-1,-1],[3,-6],[-2,0],[-5,8],[-2,-1],[4,-6],[-5,5],[-2,-1],[4,-3],[-4,1],[1,-1],[-1,0],[-9,7],[-1,0],[0,-1],[1,0],[0,-1],[-1,1],[-2,1],[0,-1],[2,-2],[3,-3],[2,-2],[3,-1],[-1,-1],[-2,0],[0,1],[-1,0],[-4,3],[0,-1],[1,-1],[2,-1],[0,-1],[-2,0],[-1,0],[-1,0],[-1,0],[0,1],[-2,2],[-2,3],[-1,-1],[4,-4],[-4,-3],[-1,-1],[-2,-2],[-1,-1],[-1,1],[-2,0],[0,1],[-1,1],[-1,2],[0,2],[0,1],[0,1],[0,1],[1,1],[2,1],[1,0],[1,0],[0,1],[-2,0],[-1,-1],[-2,0],[-1,-2],[0,-1],[0,-4],[0,1],[-2,1],[-1,0],[1,0],[2,-2],[-3,1],[-4,0],[0,2],[-1,0],[-3,0],[-2,-2],[1,-8],[-1,-1],[-2,0],[-2,4],[-2,0],[-2,2],[-14,-2],[-1,3],[5,1],[1,1],[-1,0],[-6,-1],[1,-4],[0,-1],[-3,-1],[3,1],[0,-2],[-11,-2],[0,3],[8,4],[0,1],[-3,-1],[-2,0],[-3,-1],[-2,0],[-12,-2],[-2,-1],[-22,-5],[-5,3],[-4,3],[0,1],[-6,5],[-3,1],[-10,3],[-1,3],[-2,1],[-2,-1],[-1,-2],[0,-2],[0,-1],[0,-1],[-1,-1],[-1,-4],[0,-5],[-1,-5],[-1,-4],[-2,-5],[-2,-4],[-1,-4],[-1,-6],[-2,-6],[-2,-5],[-2,-4],[-1,-3],[0,-1],[-3,-3],[-6,0],[-1,-2],[-6,-3],[-4,0],[-3,0],[-3,-1],[-2,2],[-2,2],[-3,1],[-2,-1],[-4,-1],[-3,0],[-3,-1],[-2,-2],[-1,-1],[-1,-1],[-1,-3],[-4,-2],[-1,-2],[-2,-1],[-1,1],[-2,-3],[-2,0],[1,-1],[-2,-3],[-1,-4],[-2,-1],[1,-3],[-1,-2],[1,-4],[1,-1],[1,-1],[3,-19],[0,-23],[2,-13],[1,-27],[3,-7],[3,-26],[0,-6],[1,-10],[2,-36],[4,-20],[4,-22],[2,-6],[5,-23],[8,-45],[3,-39],[-1,-23],[-1,-1],[1,-1],[1,-1],[2,-4],[0,-2],[1,-14],[0,-8],[0,-2],[0,-33],[0,-4],[-1,-7],[-3,-37],[-2,-27],[0,-1],[-3,-1],[-2,-1],[3,-3],[0,1],[1,-10],[-1,-1],[-1,-6],[3,-6],[-1,-4],[-2,-6],[-2,-4],[-6,-1],[0,-6],[1,-1],[3,-3],[-4,-14],[-6,-6],[-3,-4],[-5,-1],[-8,5],[-6,1],[-3,1],[2,-2],[0,-3],[-2,-4],[-13,-4],[3,-5],[5,-6],[0,-12],[0,-15],[-2,-18],[-5,-6],[2,-6],[4,-13],[7,-4],[-2,-14],[0,-12],[4,-19],[-3,-19],[-4,-4],[-1,-5],[0,-1],[0,-1],[-3,-8],[0,-1],[0,-3],[0,-2],[0,-2],[-1,-1],[-2,1],[4,-17],[1,-3],[1,-6],[-1,-4],[1,-7],[-2,-5],[3,-8],[3,-7],[8,-17],[0,-1],[1,-1],[2,-2],[9,-12],[16,-22],[-1,-8],[0,-2],[2,-9],[9,-1],[4,-8],[13,5],[0,1],[-12,-5],[-4,9],[-2,12],[8,7],[3,-6],[0,1],[-3,5],[12,4],[1,0],[7,1],[0,-1],[1,-1],[1,0],[1,0],[0,-1],[0,-1],[0,-1],[0,-1],[-1,0],[-1,0],[2,0],[0,1],[0,2],[0,1],[1,0],[2,1],[9,-2],[-2,-3],[5,-2],[3,-4],[-2,-1],[-11,-8],[-14,-5],[1,-1],[14,5],[11,8],[1,1],[5,4],[3,-2],[7,-5],[14,-20],[0,-1],[23,-34],[10,-46],[4,-13],[1,-16],[0,-3],[1,-6],[1,-20],[2,-25],[0,-8],[0,-2],[4,-7],[5,-13],[5,-14],[4,-8],[1,-8],[4,-13],[3,-4],[2,-8],[1,0],[-1,-2],[2,1],[4,-4],[1,-1],[2,0],[-1,-8],[1,-4],[2,-7],[6,-7],[1,-1],[2,-7],[-1,-8],[2,-1],[0,-10],[-2,-1],[7,-13],[2,-1],[6,-9],[3,-1],[-2,-5],[2,-3],[-1,0],[3,-10],[2,-1],[1,1],[1,-3],[2,2],[4,-3],[-2,-4],[4,-4],[1,-1],[0,-1],[0,-1],[1,-1],[-1,-1],[0,-2],[0,-1],[1,-2],[0,-2],[1,-2],[0,-4],[0,-1],[-1,-2],[-1,-1],[1,0],[0,-1],[0,-2],[-1,-1],[0,-1],[0,-1],[2,-1],[1,-1],[0,-1],[0,-1],[0,-1],[-1,-1],[2,-1],[0,-2],[0,-1],[2,0],[1,-1],[1,-1],[1,0],[2,0],[1,-1],[1,0],[2,-2],[2,-2],[1,-2],[1,-2],[1,-3],[0,-3],[0,-1],[0,-1],[1,0],[0,-1],[-1,-1],[0,-2],[0,-1],[-1,-3],[0,-2],[0,-3],[0,-2],[0,-1],[0,-3],[0,-3],[0,-1],[-1,-2],[-1,0],[-1,0],[0,-2],[0,-1],[2,-2],[0,-1],[-1,-1],[0,-1],[0,-1],[0,-1],[1,0],[0,-1],[0,-3],[0,-2],[0,-4],[0,-1],[0,-2],[1,-4],[-1,-3],[0,-3],[0,-1],[0,-2],[0,-3],[-1,-1],[0,-3],[-1,-3],[0,-4],[0,-3],[0,-2],[-1,-2],[0,-5],[-1,-2],[0,-3],[0,-2],[0,-2],[0,-2],[-1,-1],[-1,0],[0,-1],[0,-1],[0,-1],[0,-2],[1,-1],[0,-2],[0,-3],[1,1],[-1,-3],[-1,-3],[0,-2],[0,-2],[0,-1],[0,-2],[-1,-1],[0,-2],[0,-4],[-1,0],[0,-1],[1,0],[-1,-4],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[-1,-2],[0,-1],[0,-1],[0,-6],[0,-1],[0,-1],[-1,-4],[0,-2],[-1,-1],[0,-1],[1,-1],[0,-2],[-1,-8],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[-1,-1],[1,-1],[0,-5],[-1,-1],[0,-1],[0,-1],[-1,0],[0,-1],[0,-1],[0,-1],[0,-1],[-1,0],[0,-1],[0,-1],[1,-1],[0,-1],[-1,-7],[0,-1],[1,0],[0,-1],[1,0],[-1,0],[-1,0],[0,-1],[0,-7],[-1,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[-1,-1],[0,-1],[0,-1],[0,-1],[0,-3],[0,-1],[-1,-1],[1,-1],[-1,-1],[0,-1],[0,-1],[0,-2],[0,-1],[0,-1],[-1,-1],[0,-1],[1,-1],[0,-1],[-1,-1],[0,-1],[0,-1],[0,-1],[0,-1],[-1,-1],[0,-1],[0,-1],[0,-1],[-1,0],[0,-3],[1,0],[0,-1],[-1,-1],[0,-2],[-1,-1],[0,-1],[0,-1],[0,-6],[-3,-12],[0,-1],[0,-1],[0,-1],[1,-1],[0,-1],[-1,-1],[0,1],[-1,0],[-1,1],[0,1],[0,1],[-1,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-2],[-1,-2],[0,-1],[1,-1],[0,-1],[-1,-1],[-2,-3],[2,-4],[-1,-1],[-2,0],[0,-1],[1,0],[1,-1],[0,-1],[0,-2],[-2,-4],[1,-1],[0,-1],[0,-1],[-1,-2],[0,-1],[-1,0],[0,-1],[-1,1],[0,-1],[0,-1],[0,-1],[0,-1],[-1,0],[0,-1],[-1,-1],[-1,0],[0,-2],[0,-1],[1,-1],[-1,-1],[0,1],[-1,0],[1,-1],[0,-1],[0,-1],[0,-1],[0,-1],[-1,-1],[-3,-4],[0,-9],[1,-2],[0,-1],[-1,-2],[0,-4],[0,-2],[-1,-2],[1,0],[0,-2],[1,-1],[0,-2],[1,-1],[1,-2],[0,-2],[1,-1],[1,-1],[0,-1],[1,-1],[0,-3],[-1,0],[0,-1],[1,-1],[0,-1],[0,-2],[0,-2],[1,-2],[0,-1],[-1,0],[0,-1],[1,0],[1,0],[1,-1],[1,-2],[1,-2],[0,-1],[1,-3],[1,-1],[1,-1],[1,0],[0,-2],[2,-2],[-1,0],[0,-1],[2,0],[0,-1],[-1,0],[-1,-2],[1,0],[2,0],[1,0],[1,-2],[1,-2],[0,-1],[0,-1],[-3,0],[0,-2],[1,0],[0,-1],[0,-1],[2,0],[1,-1],[0,-3],[-1,0],[0,-1],[1,-1],[1,-1],[1,-1],[0,-2],[1,-2],[0,-2],[-1,-4],[0,-1],[0,-1],[0,-2],[0,-2],[0,-1],[-1,-1],[-1,0],[-1,0],[0,-1],[-1,-1],[1,0],[1,0],[0,-1],[1,0],[1,0],[1,-3],[-1,-1],[-1,-1],[1,0],[-1,-4],[1,0],[0,-1],[1,-1],[0,-1],[1,-1],[0,-1],[0,-3],[0,-1],[2,-1],[1,-1],[1,-1],[0,-1],[0,-1],[-1,0],[0,-1],[0,-1],[1,-1],[1,-1],[-1,-2],[0,-1],[-1,-2],[1,-1],[-1,-1],[0,-3],[0,-3],[0,-3],[0,-1],[0,-4],[0,-1],[0,-1],[0,-1],[0,-1],[1,-1],[1,-2],[-1,-1],[1,-1],[3,-2],[0,-1],[1,0],[1,-1],[2,-1],[5,-3],[2,-1],[1,0],[1,-2],[0,-2],[1,-4],[0,-2],[0,-6],[1,-1],[1,-2],[0,-2],[-1,-2],[1,-1],[1,-1],[0,-1],[0,-1],[1,-1],[1,-1],[2,-2],[0,-1],[-1,-1],[0,-1],[0,-1],[3,0],[0,1],[1,0],[1,0],[1,1],[-1,1],[1,1],[1,1],[1,0],[1,0],[1,0],[0,1],[1,-1],[2,0],[2,0],[1,1],[3,0],[3,-1],[2,-2],[2,0],[2,-1],[2,-1],[0,-1],[1,-1],[0,-1],[1,0],[1,1],[2,0],[1,0],[2,-1],[1,-1],[1,-1],[2,-2],[0,-2],[1,0],[1,0],[0,1],[1,-2],[1,1],[1,-2],[2,-2],[1,-2],[1,0],[0,-1],[-1,-1],[1,0],[0,-1],[1,0],[1,-1],[1,-2],[1,0],[0,-1],[2,-1],[1,-1],[0,-1],[1,0],[1,0],[1,-1],[1,0],[1,-1],[1,0],[0,-1],[0,-1],[0,-1],[1,0],[1,-2],[2,-1],[0,-1],[1,-3],[1,-3],[-1,-1],[2,-1],[0,-1],[1,-2],[2,-5],[0,-2],[1,-2],[1,-1],[0,-1],[0,-2],[0,-2],[1,-3],[1,-4],[0,-1],[0,-1],[0,-1],[1,-1],[-1,-1],[0,-1],[1,-3],[1,-3],[1,-2],[0,-2],[0,-1],[0,-2],[0,-1],[0,-1],[0,-2],[0,-2],[0,-3],[0,-1],[-1,-1],[-1,0],[-1,-1],[2,-3],[0,1],[1,1],[2,-1],[1,0],[1,-1],[3,0],[1,0],[1,0],[0,-1],[1,0],[0,-1],[0,-1],[1,-1],[-1,0],[-1,1],[0,-1],[2,0],[2,-3],[1,0],[0,-1],[1,0],[2,1],[1,0],[1,-1],[0,-1],[0,-1],[-1,0],[0,-1],[0,-1],[1,1],[1,-1],[2,0],[2,1],[2,0],[2,0],[1,1],[2,-1],[1,-1],[1,-1],[1,-2],[1,0],[1,-1],[1,-1],[0,-2],[0,-1],[0,-2],[0,-2],[0,-1],[1,-3],[1,-1],[1,0],[1,-2],[1,-1],[2,-1],[1,-1],[2,-2],[1,-3],[1,-1],[1,0],[0,-1],[1,-1],[0,-2],[0,-1],[1,-2],[-1,-3],[0,-3],[0,-1],[1,0],[0,-1],[0,-2],[0,-3],[0,-1],[-1,-3],[0,-1],[0,-2],[0,-3],[0,-4],[0,-1],[-1,-2],[-1,-5],[0,-2],[-1,-3],[-1,-1],[1,0],[1,-3],[1,0],[-1,-1],[0,-1],[1,-2],[0,-1],[1,-1],[0,-1],[1,0],[0,-1],[1,0],[1,0],[1,0],[2,1],[1,0],[1,0],[1,0],[1,0],[0,-1],[0,1],[1,-1],[1,-1],[1,-1],[1,-2],[1,-1],[1,-1],[1,-1],[0,-1],[1,-4],[0,-1],[1,0],[-1,-1],[1,0],[-1,-1],[1,-1],[1,1],[1,1],[1,1],[0,1],[3,0],[2,2],[0,1],[1,0],[1,1],[1,0],[1,0],[0,-1],[0,1],[1,0],[0,1],[1,0],[1,1],[2,1],[1,1],[2,0],[1,0],[1,-1],[0,1],[0,1],[1,0],[1,1],[1,1],[0,-1],[1,0],[0,1],[1,1],[0,-1],[1,0],[1,0],[1,0],[1,0],[1,0],[0,-1],[-1,-1],[1,0],[1,1],[0,1],[1,1],[0,1],[1,0],[0,1],[2,0],[1,0],[2,0],[2,-1],[2,-1],[3,-1],[1,0],[1,-1],[1,-1],[1,1],[2,-1],[1,-1],[1,-1],[0,-1],[1,0],[1,-1],[1,0],[1,-2],[1,-1],[2,-1],[1,0],[0,-1],[1,0],[1,-1],[2,-2],[1,0],[1,-1],[1,0],[5,-4],[8,-12],[2,2],[1,4],[5,11],[1,3],[-4,7],[0,1],[-5,10],[0,1],[-10,20],[-3,7],[-2,2],[-6,14],[-1,1],[-7,14],[0,1],[-8,16],[-2,4],[-2,4],[-1,3],[-1,1],[-8,70],[0,1],[-2,16],[-2,21],[0,6],[-1,8],[26,0],[10,0],[31,0],[5,1],[5,1],[13,3],[16,3],[6,1],[20,0],[27,0],[2,0],[5,0],[7,1],[0,8],[0,1],[0,1],[0,19],[0,2],[0,1],[0,14],[0,9],[0,9],[0,4],[0,10],[5,0],[6,0],[2,0],[3,0],[1,0],[4,0],[3,0],[2,0],[1,0],[11,0],[1,0],[4,0],[1,0],[2,0],[3,0],[1,0],[2,0],[1,0],[2,0],[2,0],[1,0],[1,0],[2,0],[2,0],[16,0],[2,0],[27,0],[33,0],[1,0],[2,0],[4,1],[5,-1],[2,0],[4,0],[5,0],[15,1],[16,0],[1,0],[5,0],[1,0],[5,0],[0,2],[0,12],[0,8],[1,8],[2,8],[0,1],[0,5],[0,1],[-1,11],[-1,19],[0,1],[0,4],[-1,10],[0,10],[0,4],[0,3],[0,31],[1,37],[0,4],[0,26],[0,2],[0,11],[0,2],[1,-2],[1,-1],[0,-1],[1,0],[1,-1],[0,-1],[1,-2],[0,-1],[1,-2],[2,-4],[0,-4],[-2,-8],[-2,-5],[2,-1],[1,0],[1,0],[1,-1],[1,-1],[1,-1],[3,-6],[3,-6],[1,-1],[11,-6],[1,0],[0,-1],[1,0],[2,-2],[1,-2],[2,-2],[2,-1],[2,-5],[1,-1],[3,-4],[2,-4],[1,0],[10,-7],[4,1],[5,1],[6,-4],[1,-3],[6,-8],[1,-1],[6,-10],[15,-24],[0,-1],[7,-9],[1,-4],[0,-2],[1,-4],[1,-4],[0,-6],[1,0],[10,-4],[1,0],[5,-4],[8,-7],[2,-12],[2,-3],[5,-5],[6,-1],[6,-1],[1,0],[4,2],[2,0],[2,1],[3,0],[1,-1],[1,-2],[1,-2],[0,-2],[3,-2],[1,-1],[2,-1],[2,-2],[1,-2],[6,-5],[7,-9],[3,-6],[2,-5],[1,0],[5,-2],[2,2],[5,6],[3,2],[5,-2],[4,1],[0,-3],[2,-5],[1,-3],[3,-3],[8,-7],[2,-2],[1,-1],[2,-4],[3,-6],[3,-2],[0,-2],[2,-4],[6,-12],[2,-2],[7,-6],[1,0],[3,-2],[1,0],[6,-3],[3,-4],[-3,-5],[1,-4],[-3,-2],[1,-4],[1,-7],[1,-2],[-1,-3],[1,-2],[5,-3],[1,-2],[0,-2],[0,-1],[1,-3],[1,-1],[3,-1],[1,0],[0,-1],[0,-1],[-1,0],[0,1],[-1,-2],[-1,-3],[0,-1],[2,0],[0,-1],[3,1],[1,-1],[0,-1],[0,-1],[-1,-1],[0,-1],[-1,-1],[-2,-1],[-2,-3],[1,-1],[1,-2],[1,-1],[2,-1],[0,-4],[-1,-4],[0,-2],[2,-1],[2,2],[1,-1],[1,2],[1,-1],[1,0],[1,-1],[2,-1],[2,1],[0,1],[1,0],[1,-1],[1,-1],[3,-4],[1,3],[1,1],[0,1],[1,0],[1,-1],[1,-1],[1,-1],[0,-1],[0,-1],[0,-1],[2,-1],[1,-1],[-1,-1],[2,-2],[2,-1],[-1,-2],[4,0],[1,-1],[2,0],[3,-1],[1,1],[2,-1],[2,-1],[0,-1],[0,-1],[0,-1],[1,0],[1,0],[2,1],[1,0],[1,0],[1,0],[1,0],[0,-1],[2,1],[1,0],[0,-1],[1,0],[0,-1],[1,0],[1,0],[1,-1],[0,-2],[0,-2],[1,-2],[1,-3],[0,-1],[0,-1],[3,-6],[1,-5],[2,-1],[6,-8],[1,-2],[1,-1],[0,-2],[0,-1],[0,-4],[1,-1],[0,-1],[1,-3],[1,0],[2,-2],[3,-1],[2,0],[1,0],[2,0],[0,5],[1,0],[3,-2],[0,-2],[1,-4],[1,0],[0,-1],[3,-2],[4,-1],[2,1],[2,-1],[4,0],[1,3],[2,-2],[2,1],[7,0],[2,-1],[2,-1],[1,-2],[2,-2],[2,-5],[4,-4],[3,-4],[5,-5],[1,0],[1,-1],[1,-2],[2,-2],[2,-1],[2,0],[1,-1],[1,-1],[4,-3],[1,-1],[2,-1],[2,-1],[2,-1],[2,0],[1,0],[3,-1],[1,-1],[10,-2],[5,-2],[7,-4],[18,-8],[6,-3],[3,4],[13,-6],[32,-25],[11,-1],[2,-3],[0,-2],[0,-2],[1,-1],[2,-2],[1,1],[1,3],[-1,0],[1,1],[0,1],[0,1],[1,-1],[1,0],[1,-1],[-1,-1],[2,0],[0,1],[1,1],[1,0],[0,-1],[0,-1],[1,-3],[2,2],[2,-1],[1,0],[1,0],[1,1],[1,-1],[0,-1],[0,-1],[2,2],[0,-1],[0,-1],[-1,0],[0,-1],[-1,-1],[1,-1],[1,-1],[1,0],[1,-2],[1,0],[1,1],[0,-2],[0,-1],[1,-1],[2,-1],[1,0],[1,1],[1,-1],[1,2],[3,-3],[-2,-1],[0,-1],[-1,-1],[0,-1],[1,-1],[1,-1],[1,1],[2,0],[1,1],[1,1],[0,-2],[2,3],[1,2],[4,4],[6,-3],[4,-2],[10,-5],[4,-2],[10,-5],[8,2],[5,1],[7,1],[1,1],[2,1],[-2,-7],[0,-2],[-2,-6],[2,0],[2,0],[7,0],[3,-2],[2,-1],[6,1],[1,1],[0,1],[1,0],[1,-1],[1,1],[2,0],[1,0],[1,-1],[2,-1],[1,-1],[1,-2],[4,-1],[0,-3],[1,0],[1,1],[1,0],[0,-2],[1,0],[0,-1],[0,-1],[-1,-1],[0,-1],[0,-1],[2,-1],[1,0],[0,1],[2,0],[1,1],[1,0],[0,-1],[0,-1],[1,-1],[0,-1],[0,-1],[1,0],[0,1],[4,-1],[0,-2],[-1,0],[0,-1],[0,-1],[1,0],[2,-3],[2,3],[2,0],[1,-3],[3,1],[0,-1],[2,0],[1,-1],[1,-1],[1,-1],[-1,-3],[1,-2],[0,-1],[1,0],[2,1],[1,0],[1,-1],[1,1],[1,0],[2,2],[2,-3],[2,0],[1,1],[1,0],[2,-1],[2,1],[1,-1],[2,0],[1,-1],[0,-1],[0,-1],[1,-1],[1,0],[1,-1],[1,-3],[2,-2],[1,-2],[0,-1],[1,-2],[0,-1],[3,-1],[2,-1],[1,-1],[1,-2],[0,-4],[-3,-3],[0,-1],[0,-4],[3,-3],[1,0],[1,0],[2,-2],[3,-1],[2,-2],[0,-1],[1,-1],[1,-1],[1,-2],[0,-2],[-1,-3],[-2,3],[0,-2],[1,-3],[1,-3],[1,-1],[2,-1],[3,-2],[1,0],[1,-2],[2,0],[2,1],[2,0],[1,0],[1,-1],[2,-1],[6,-1],[13,-14],[5,3],[17,-10],[8,-12],[5,-3],[7,-3],[10,-7],[17,-1],[2,-6],[-3,-3],[5,-4],[5,-1],[5,3],[2,3],[4,-2],[1,-3],[3,-7],[8,-15],[7,-11],[3,-9],[4,-3],[12,-21],[2,-1],[2,-1],[7,-5],[20,-12],[0,-1],[-5,1],[-1,-3],[-5,1],[1,6],[-2,1],[-12,-22],[20,-17],[3,6],[9,-9],[2,-1],[0,-1],[7,-3],[-25,-30],[1,-2],[2,-1],[-1,-3],[-1,-2],[-1,-2],[0,-2],[-1,-1],[0,-1],[-2,-1],[-1,-1],[-2,0],[-1,0],[-1,0],[-1,0],[-2,0],[-1,-1],[-1,-2],[1,-2],[-2,0],[-2,-1],[-1,-1],[-4,-1],[5,-3],[1,1],[2,0],[1,0],[3,1],[2,0],[1,0],[1,1],[3,2],[27,14],[2,1],[0,-1],[0,-1],[0,-1],[1,-1],[6,-4],[9,0],[1,-2],[-1,-2],[-1,-3],[1,-3],[2,0],[0,3],[3,-2],[3,-1],[4,-1],[1,-10],[9,0],[4,0],[10,-3],[0,-8],[-3,-4],[1,-3],[0,-2],[-2,-2],[-1,-2],[-1,-2],[0,-3],[-1,-3],[0,-3],[0,-3],[0,-2],[0,-2],[1,-2],[1,-2],[2,-1],[2,-2],[1,-2],[1,-1],[2,-2],[1,-2],[3,-1],[1,0],[3,-1],[1,-1],[1,0],[4,-1],[3,2],[2,-1],[5,-1],[3,2],[9,1],[2,-3],[0,-1],[1,0],[-1,-3],[3,1],[3,-2],[2,0],[3,1],[0,-2],[1,-2],[1,0],[4,-2],[9,2],[3,-2],[1,-2],[1,-7],[3,-5],[-1,-6],[-3,-7],[2,-5],[1,-5],[4,0],[6,-4],[1,0],[2,0],[6,1],[3,-1],[0,-9],[3,0],[-1,-6],[-3,-3],[1,-3],[1,-6],[10,-14],[5,-11],[2,-4],[11,-1],[-2,9],[-1,4],[4,4],[2,1],[0,-1],[2,0],[2,3],[2,1],[12,1],[1,1],[2,3],[10,-2],[5,-7],[-1,5],[-1,2],[0,2],[9,-9],[32,-36],[39,0],[0,-3],[0,-18],[21,0],[0,-3],[-1,-53],[0,-2],[4,-4],[11,-16],[9,10],[4,2],[15,-1],[6,0],[1,13],[4,29],[12,13],[7,3],[4,3],[1,0],[6,3],[11,6],[0,16],[14,17],[16,14],[31,30],[5,9],[0,3],[0,1],[0,11],[3,3],[1,8],[-5,8],[6,3],[2,8],[2,4],[5,1],[9,24],[2,2],[3,4],[22,27],[1,1],[2,2],[37,-15],[1,-1],[2,0],[2,-1],[1,0],[2,-1],[0,-1],[3,-1],[10,4],[-5,12],[6,11],[2,0],[5,1],[3,2],[3,3],[1,0],[1,-3],[5,4],[3,0],[1,0],[1,3],[5,0],[2,-2],[0,-4],[-1,-2],[2,-2],[3,-8],[8,-4],[0,-1],[17,-10],[5,-13],[7,-7],[25,-28],[4,-5],[1,-2],[1,0],[0,1],[5,0],[38,0],[37,0],[0,-1],[4,0],[1,0],[4,0],[4,0],[11,0],[2,0],[4,0],[38,0],[5,0],[1,0],[15,0],[0,1],[0,-1],[13,0],[1,0],[163,2],[108,0],[13,0],[-1,2],[-1,1],[-4,1],[-4,2],[-2,2],[-2,3],[-1,3],[-1,3],[-1,1],[-3,2],[-4,0],[-3,0],[-3,0],[-2,0],[-2,2],[-2,1],[-2,1],[-2,2],[-2,3],[-1,1],[-5,5],[-2,2],[-5,7],[0,3],[-4,4],[-2,3],[-2,2],[-2,3],[-3,5],[-2,4],[-2,7],[0,6],[2,8],[1,4],[1,1],[0,5],[1,2],[0,1],[4,1],[2,3],[0,2],[0,2],[1,2],[0,1],[1,0],[2,1],[10,2],[6,3],[-1,6],[-2,1],[-1,2],[0,1],[0,2],[0,2],[-1,3],[0,3],[-3,1],[-1,1],[2,6],[-1,1],[-2,0],[-1,1],[0,1],[0,1],[1,1],[1,1],[1,1],[2,-1],[1,1],[5,3],[-3,5],[-2,0],[-1,1],[-1,3],[-1,2],[-2,2],[0,3],[-4,5],[-1,0],[-1,1],[0,1],[-1,2],[0,2],[-2,3],[-2,1],[-1,0],[-1,2],[-1,2],[0,1],[-2,1],[-1,3],[-2,3],[-2,3],[-1,3],[0,2],[0,1],[1,1],[0,1],[-1,1],[-1,2],[0,4],[0,2],[-1,2],[-1,3],[0,1],[2,-1],[4,-3],[1,-1],[2,-1],[2,0],[2,1],[1,-1],[3,0],[1,0],[1,0],[2,1],[1,1],[0,1],[1,1],[-1,3],[0,1],[1,0],[5,8],[12,3],[0,1],[1,0],[14,5],[0,1],[0,5],[-1,8],[-2,24],[1,2],[1,2],[1,2],[2,3],[1,1],[-3,3],[3,4],[3,-1],[3,0],[5,0],[3,-2],[5,-2],[1,-1],[2,-1],[2,-1],[1,0],[1,1],[1,1],[0,1],[1,1],[1,1],[0,2],[2,2],[2,2],[0,5],[1,1],[0,1],[1,1],[0,2],[0,1],[-2,4],[-1,1],[0,2],[0,1],[0,1],[-2,3],[0,2],[0,2],[0,1],[0,1],[1,1],[-6,2],[-1,0],[-1,0],[-2,0],[-4,1],[-1,3],[-1,1],[-6,7],[-4,0],[-2,1],[-1,1],[-1,1],[-1,2],[0,3],[-3,11],[-7,7],[-1,0],[-2,0],[-1,1],[0,1],[-1,1],[-1,1],[-1,1],[0,1],[-1,1],[-5,5],[-1,0],[-1,1],[-1,1],[-1,1],[-1,1],[-11,0],[-1,-3],[-1,0],[-2,0],[-1,1],[-2,2],[-1,2],[-3,6],[-1,0],[0,1],[0,1],[1,1],[1,0],[0,1],[1,1],[1,1],[1,3],[0,1],[1,2],[0,1],[2,1],[1,-1],[2,0],[1,0],[1,1],[2,0],[1,0],[11,7],[1,2],[1,1],[1,1],[1,1],[1,0],[1,0],[1,-1],[1,0],[1,7],[-1,5],[0,2],[0,3],[0,2],[0,1],[-1,2],[-1,2],[1,1],[1,1],[2,0],[2,1],[2,0],[5,4],[-1,6],[-2,3],[0,1],[0,2],[1,2],[4,7],[1,2],[1,3],[1,1],[1,1],[3,1],[1,1],[3,8],[0,1],[1,2],[1,1],[4,9],[-3,1],[-1,1],[-2,1],[-2,2],[-1,2],[-1,1],[-1,2],[0,1],[0,1],[0,2],[-1,1],[-2,2],[0,1],[0,1],[0,1],[1,1],[0,1],[0,1],[0,1],[0,1],[-1,1],[-1,1],[-1,1],[-1,1],[-1,2],[0,1],[-2,2],[-2,2],[-1,1],[-3,3],[-3,3],[-4,5],[0,3],[-2,1],[0,1],[-1,4],[-1,2],[0,3],[0,1],[-4,13],[-1,2],[-1,1],[0,1],[-1,2],[0,2],[0,1],[0,1],[1,-1],[0,-1],[1,6],[0,2],[-1,2],[-2,2],[0,1],[1,3],[0,2],[-1,2],[-1,2],[-1,1],[-2,0],[-2,0],[-2,-1],[-4,0],[-1,1],[-2,2],[-1,1],[-3,0],[-2,-2],[-3,0],[-1,-1],[-3,0],[-1,1],[-3,1],[-4,0],[-3,1],[-2,0],[-1,0],[-2,1],[-2,0],[-2,0],[-3,0],[-2,0],[-2,1],[-1,0],[-1,0],[-1,0],[-1,1],[0,1],[0,1],[-3,6],[-2,6],[-3,5],[-3,5],[-3,6],[0,1],[-3,5],[-2,3],[-3,1],[-3,3],[-1,2],[-1,5],[-1,5],[-2,5],[-3,2],[-3,0],[-1,4],[-2,4],[-2,3],[-2,2],[-3,0],[-3,-2],[-1,-2],[-1,-1],[0,-4],[-2,1],[-2,0],[-1,-2],[-1,-2],[-1,-2],[-1,-6],[-3,-2],[-2,-2],[-2,-2],[0,-1],[0,-6],[0,1],[1,-1],[0,-3],[-1,-2],[0,-1],[-1,-1],[0,-1],[-3,0],[-4,-3],[-3,-2],[-3,-6],[2,2],[-1,-1],[-1,-1],[-2,-2],[-2,-1],[-1,-1],[0,1],[-1,0],[-2,1],[-5,6],[-7,-5],[-1,0],[-5,4],[-8,7],[-3,0],[-2,-1],[0,-1],[0,-2],[0,-3],[-5,-1],[-4,-1],[-1,0],[-1,1],[-1,0],[-3,0],[-2,-1],[-4,-3],[-2,1],[-1,1],[-2,0],[-2,-1],[-2,-1],[-2,-1],[-1,0],[-8,13],[-1,3],[-1,0],[-3,0],[-1,-1],[-1,0],[-1,2],[-3,3],[-2,2],[-2,1],[-5,2],[-5,1],[-1,1],[0,2],[-1,2],[-1,3],[-1,2],[-1,1],[-1,1],[-1,1],[-1,1],[-1,3],[-2,2],[-3,2],[-3,2],[-4,1],[-3,2],[-2,1],[-2,3],[-5,-2],[-5,2],[-1,1],[-3,0],[-4,-1],[-1,-1],[-2,-3],[-1,-2],[0,-2],[0,-2],[-1,-1],[-1,-1],[-1,-1],[-3,-1],[-12,-8],[-3,-10],[-1,-2],[-1,0],[-2,0],[-3,-2],[-2,-2],[-2,-5],[-1,-2],[-1,-2],[-2,-3],[-1,0],[-2,0],[-2,1],[-2,-1],[-1,-1],[-1,-3],[-1,-1],[-1,-2],[1,-3],[1,-3],[1,-2],[-1,-2],[-1,-1],[0,-4],[1,-2],[1,-3],[2,-2],[1,-2],[1,-1],[0,-1],[-1,-1],[-1,-1],[0,-2],[0,-2],[-1,-4],[-1,-5],[0,-3],[-2,0],[-1,1],[-2,0],[-1,0],[-3,-1],[-3,0],[-4,-2],[-2,0],[-2,-2],[-1,-3],[0,-3],[-1,0],[-1,0],[-2,1],[-1,1],[-1,1],[-1,1],[-2,2],[-3,1],[-1,0],[-1,-1],[-1,0],[-1,1],[-1,1],[-1,2],[-1,3],[0,4],[-1,2],[0,2],[-2,1],[-1,1],[-2,0],[-2,1],[-1,0],[-1,2],[-1,1],[-1,3],[-1,3],[-1,3],[-1,6],[-1,3],[0,1],[0,7],[0,7],[0,4],[-3,4],[-4,2],[-4,2],[-2,2],[0,1],[0,1],[0,1],[2,0],[2,1],[1,2],[2,1],[0,3],[0,1],[0,2],[-1,1],[-1,1],[0,2],[0,1],[0,1],[1,2],[1,0],[1,4],[1,2],[1,0],[0,2],[0,3],[0,4],[-1,2],[-2,0],[-2,2],[-1,1],[0,2],[0,2],[1,3],[1,3],[1,1],[0,2],[0,3],[0,3],[-1,2],[-1,1],[-1,2],[0,2],[0,2],[0,2],[-1,2],[-1,1],[-2,3],[-1,2],[-2,2],[-2,3],[-1,2],[0,2],[0,2],[0,4],[-1,3],[0,2],[0,3],[-1,4],[0,3],[0,4],[0,4],[0,5],[-1,2],[-1,2],[-2,2],[-1,2],[-5,3],[-1,4],[-1,6],[1,3],[0,1],[0,2],[0,3],[-1,1],[-1,2],[-1,1],[-1,1],[-2,2],[-2,1],[-2,0],[-1,0],[-3,3],[-1,2],[-1,1],[-1,0],[-1,1],[-1,2],[-1,1],[-1,2],[-1,0],[-1,1],[-3,-1],[0,-2],[-3,-1],[-1,3],[-1,0],[0,2],[-1,1],[-1,1],[-1,2],[-1,1],[-2,0],[-3,1],[-1,1],[-1,1],[-5,2],[-1,2],[-3,5],[-1,0],[-1,2],[-2,1],[-1,3],[-1,2],[-1,0],[-2,1],[-1,1],[-1,1],[-1,1],[0,1],[0,1],[1,1],[0,2],[0,1],[1,1],[-2,2],[-1,1],[0,2],[-3,4],[-1,2],[0,1],[0,1],[-1,1],[-1,1],[-1,1],[-1,2],[0,3],[-3,5],[-2,2],[-1,1],[-1,2],[0,4],[0,2],[0,1],[1,3],[-2,2],[1,1],[0,1],[1,3],[0,-1],[1,3],[-1,1],[0,1],[0,1],[-1,3],[-1,2],[0,3],[-2,5],[1,4],[2,2],[1,1],[1,0],[0,4],[0,1],[1,4],[0,3],[0,3],[0,1],[0,2],[0,9],[0,1],[1,4],[0,2],[0,1],[0,5],[0,1],[0,2],[0,1],[-2,4],[-1,0],[-1,1],[0,1],[-2,2],[-2,3],[0,1],[-1,1],[-1,1],[-2,2],[0,1],[1,0],[1,3],[1,1],[5,0],[1,-1],[3,1],[1,2],[0,2],[1,2],[0,1],[0,1],[1,1],[0,1],[1,1],[1,2],[1,0],[1,1],[3,2],[1,1],[0,1],[1,1],[0,1],[-2,11],[14,8],[2,-1],[2,-4],[2,-3],[3,-2],[3,-1],[2,-2],[2,-1],[3,1],[3,2],[1,2],[2,2],[2,1],[1,1],[3,1],[4,1],[3,1],[1,1],[1,0],[1,0],[1,0],[2,0],[-3,-1],[-1,0],[4,-2],[3,0],[0,2],[0,2],[1,8],[9,9],[0,2],[1,1],[0,1],[1,0],[1,1],[2,1],[4,4],[1,0],[1,4],[0,1],[1,0],[2,2],[3,2],[6,5],[3,0],[3,2],[1,2],[-1,2],[0,3],[-1,1],[0,-1],[-1,0],[-1,1],[0,3],[-1,6],[-1,6],[-2,11],[-6,10],[4,2],[0,1],[-2,6],[4,10],[-26,44],[0,1],[0,2],[2,1],[0,1],[-1,3],[-1,1],[0,6],[0,1],[0,2],[3,2],[0,2],[-1,3],[-3,3],[0,2],[0,2],[0,1],[-2,2],[-4,9],[2,6],[0,4],[0,2],[1,1],[1,1],[1,1],[1,1],[1,0],[2,1],[1,0],[0,1],[0,1],[0,2],[1,2],[0,2],[2,1],[1,8],[3,12],[0,1],[0,1],[0,1],[1,0],[0,2],[0,1],[0,1],[1,0],[1,0],[1,1],[1,1],[1,1],[1,2],[1,0],[1,1],[2,1],[1,0],[2,3],[1,2],[2,3],[-1,2],[-1,2],[-1,1],[0,1],[1,1],[-1,1],[0,2],[-1,6],[-3,4],[-1,7],[-4,0],[-1,2],[-5,0],[-6,2],[-11,9],[-17,2],[-2,0],[-3,3],[-3,2],[-3,1],[-3,-2],[-3,-3],[-3,0],[-4,-4],[-1,-1],[-1,-1],[-4,2],[-2,0],[-1,-1],[-2,-1],[-3,-3],[-6,2],[-2,7],[-12,3],[-4,8],[6,9],[-1,18],[-17,28],[-6,-3],[-14,25],[-1,1],[1,3],[1,0],[1,0],[1,0],[1,1],[2,0],[1,1],[1,0],[0,1],[0,1],[0,1],[-4,6],[0,1],[0,2],[0,2],[0,2],[1,3],[2,2],[1,2],[1,2],[2,2],[0,1],[1,1],[1,2],[2,2],[0,1],[2,4],[1,1],[1,0],[0,1],[4,1],[1,2],[0,1],[0,4],[0,1],[-1,5],[-3,11],[2,8],[0,10],[-2,1],[-1,2],[0,4],[-2,2],[-1,0],[-4,-3],[-3,1],[-1,0],[-2,6],[-6,2],[-1,0],[-1,1],[0,2],[-1,5],[0,3],[0,1],[-1,2],[-1,2],[-1,2],[-2,1],[-3,2],[-2,1],[-4,2],[-8,3],[-3,3],[-4,26],[-1,2],[0,2],[1,0],[2,0],[2,-1],[2,0],[2,2],[1,1],[1,1],[1,2],[1,2],[1,1],[1,1],[1,1],[1,1],[1,2],[1,0],[1,1],[4,0],[2,-2],[2,-1],[2,3],[1,2],[1,4],[2,-1],[0,2],[1,1],[1,2],[0,1],[0,2],[-1,2],[1,1],[1,0],[0,1],[0,1],[0,2],[1,2],[1,3],[0,2],[1,1],[0,1],[0,1],[-1,0],[-1,1],[-1,1],[-1,1],[0,1],[-1,1],[-1,1],[-1,1],[-2,1],[-1,1],[-2,3],[-1,1],[-1,2],[-1,2],[-1,0],[-1,1],[-2,0],[-1,1],[-2,1],[-1,1],[-1,0],[-1,3],[0,1],[-1,2],[-1,0],[-2,4],[-8,8],[-19,0],[-6,8],[1,11],[-4,15],[-7,9],[-1,3],[-3,4],[3,3],[3,4],[2,6],[-5,4],[-8,6],[-10,-3],[-18,2],[-13,-2],[-11,7],[-4,2],[-2,-2],[-23,8],[-8,5],[-6,4],[-3,8],[-3,2],[-5,11],[-15,10],[0,24],[0,75],[0,35],[-1,93],[0,3],[0,1],[1,58],[0,2],[0,104],[0,3],[0,103],[0,12],[-1,21],[0,1],[0,1],[0,24],[0,21],[0,11],[0,12],[0,6],[1,9],[0,5],[0,1],[-1,8],[1,31],[0,39],[0,4],[0,4],[0,5],[0,38],[0,30],[0,13],[0,1],[-1,51],[1,0],[-1,0],[1,4],[0,10],[2,1],[1,0],[1,1],[1,1],[-1,2],[0,1],[1,3],[1,2],[1,0],[1,1],[2,0],[1,0],[2,0],[0,2],[-1,1],[-1,1],[-2,1],[-1,2],[0,1],[1,1],[0,1],[2,2],[-2,9],[-2,3],[0,2],[0,3],[1,1],[1,2],[1,1],[1,2],[1,3],[2,2],[1,1],[0,-1],[0,-2],[-1,-2],[0,-2],[2,0],[1,0],[2,1],[1,1],[2,0],[2,1],[2,0],[2,1],[2,2],[0,1],[1,2],[1,2],[0,1],[1,1],[3,2],[1,1],[1,1],[0,2],[0,1],[-1,2],[0,2],[1,0],[1,1],[1,2],[-1,1],[-1,0],[-1,-1],[-1,-1],[-1,0],[0,1],[0,1],[0,1],[1,1],[2,3],[2,1],[1,2],[1,1],[0,2],[-2,1],[0,1],[1,1],[0,1],[2,0],[1,2],[2,1],[1,1],[0,2],[1,0],[0,2],[-1,2],[-1,1],[-1,2],[-2,0],[-2,1],[-1,-1],[0,-1],[1,-1],[-1,-3],[0,-1],[-2,0],[-2,0],[-1,-2],[-1,0],[-1,1],[0,1],[0,2],[0,1],[-1,2],[-1,2],[0,1],[0,2],[0,1],[0,2],[0,2],[0,3],[1,2],[1,2],[1,1],[0,2],[-1,2],[-1,0],[-1,0],[-1,0],[-2,-1],[-2,-2],[-3,-2],[-4,-2],[-3,-1],[-1,1],[-1,3],[0,1],[-1,1],[-1,2],[-1,4],[-2,3],[-1,2],[-1,2],[0,1],[-1,0],[-1,-1],[0,-1],[-1,-2],[0,-3],[-2,-2],[-2,-1],[-1,0],[-1,1],[-2,0],[-2,1],[-1,1],[-1,1],[-1,0],[-1,-1],[-1,-1],[-1,-2],[-2,-2],[-1,-2],[0,-1],[0,-2],[0,-1],[1,-1],[0,-2],[1,-3],[-1,-1],[0,-1],[-1,0],[-1,1],[-1,0],[-1,2],[-1,3],[-2,3],[-1,2],[-1,2],[-1,2],[-1,0],[-1,-1],[-1,-1],[-1,0],[-1,0],[-1,0],[-1,0],[-1,1],[0,1],[0,1],[2,1],[1,1],[1,1],[1,1],[-1,1],[0,2],[-1,1],[-1,0],[-2,0],[-3,0],[-3,-1],[-3,-1],[-2,-1],[-2,-1],[-1,-3],[-2,-2],[-1,-1],[-1,-1],[-2,0],[0,1],[0,1],[-1,1],[0,1],[-1,1],[0,1],[-1,2],[1,0],[0,2],[0,1],[2,1],[2,1],[2,1],[2,1],[2,2],[2,3],[1,2],[0,3],[-1,1],[-1,2],[-1,1],[-3,2],[-1,2],[-2,2],[-1,2],[-1,1],[-2,3],[-1,4],[0,2],[0,3],[-1,2],[1,3],[0,2],[1,3],[1,2],[0,2],[1,2],[1,2],[1,1],[4,5],[2,3],[1,1],[0,2],[1,1],[0,1],[-1,2],[-1,4],[-1,2],[-1,2],[-1,3],[0,1],[0,2],[1,1],[0,1],[1,0],[1,1],[2,1],[2,1],[2,0],[2,1],[1,1],[1,0],[2,1],[2,1],[1,2],[1,2],[1,2],[0,3],[0,2],[0,3],[1,3],[0,4],[0,1],[-1,2],[0,2],[-1,0],[-1,1],[-1,1],[-1,1],[-1,1],[-2,1],[-1,1],[-1,2],[-1,1],[-1,1],[0,2],[0,1],[1,2],[1,2],[2,1],[1,1],[1,0],[1,2],[2,1],[1,1],[2,1],[2,1],[1,1],[1,1],[2,2],[1,1],[0,1],[1,0],[0,2],[0,2],[0,1],[-1,2],[0,1],[-2,1],[-1,1],[-1,3],[-1,3],[-2,3],[0,2],[0,1],[0,1],[1,2],[0,1],[1,1],[1,1],[1,1],[2,1],[3,1],[3,0],[2,1],[3,1],[3,1],[2,1],[2,1],[1,1],[-1,1],[-1,1],[-1,1],[-1,1],[-2,2],[-1,3],[-1,2],[-1,3],[0,3],[1,2],[0,1],[1,2],[1,3],[1,3],[-1,1],[-1,1],[-1,2],[-2,2],[-3,3],[-1,2],[-1,2],[0,3],[0,2],[1,2],[0,2],[1,2],[0,1],[0,1],[-1,2],[-1,2],[-1,2],[-1,2],[0,2],[-1,2],[0,3],[-1,2],[1,2],[1,1],[2,0],[1,0],[2,0],[1,0],[1,0],[0,1],[1,1],[0,1],[-1,1],[-1,1],[-2,1],[-1,0],[-2,-1],[-2,-2],[-1,-1],[-2,-2],[-1,-1],[0,-1],[-1,0],[-1,0],[-1,0],[-2,0],[-1,1],[-1,2],[0,1],[0,2],[0,3],[0,2],[1,2],[0,2],[1,1],[1,1],[0,1],[1,1],[1,1],[1,1],[2,2],[2,2],[0,1],[1,0],[0,2],[-1,1],[-1,1],[-1,1],[-1,1],[-3,0],[-2,0],[-2,-1],[-5,-1],[-4,-2],[-2,0],[-2,0],[-2,1],[-1,1],[0,1],[0,1],[0,1],[1,1],[1,1],[2,1],[2,1],[1,0],[3,1],[3,0],[1,1],[2,0],[2,0],[2,1],[2,1],[1,2],[0,2],[0,1],[0,2],[-1,1],[-2,0],[-3,2],[-3,1],[-3,3],[-3,3],[0,1],[-1,1],[-1,2],[-1,3],[0,2],[0,1],[0,2],[1,4],[0,2],[0,2],[-1,2],[-2,2],[-1,1],[-1,1],[-2,2],[-2,2],[-3,2],[-1,0],[-1,1],[-1,2],[-1,2],[0,1],[0,2],[1,1],[2,0],[1,1],[3,-1],[3,0],[2,-1],[3,1],[0,1],[2,1],[0,1],[0,1],[0,1],[0,1],[-2,2],[-2,1],[-3,0],[-3,1],[-3,0],[-3,1],[-1,1],[-1,1],[-2,1],[0,1],[-1,2],[0,2],[0,3],[1,3],[0,2],[1,2],[0,4],[1,2],[0,3],[2,2],[2,3],[1,3],[2,2],[1,2],[1,3],[0,2],[-1,1],[-1,1],[-1,1],[-2,0],[-1,1],[-1,2],[0,2],[1,2],[1,0],[1,1],[2,0],[3,0],[4,0],[3,0],[1,0],[2,0],[1,0],[1,1],[0,1],[1,2],[1,3],[0,3],[1,2],[-1,1],[-1,1],[-1,0],[-3,1],[-4,0],[-2,-1],[-4,0],[-2,1],[-1,0],[-2,1],[-2,1],[-1,2],[0,1],[-1,2],[0,3],[0,1],[0,1],[0,3],[0,2],[1,2],[2,2],[2,1],[2,2],[3,0],[2,0],[3,0],[3,-1],[4,0],[2,1],[2,0],[1,1],[1,2],[1,1],[0,2],[-2,3],[-3,1],[-2,2],[-3,1],[-2,1],[-1,1],[0,2],[0,2],[0,1],[1,1],[2,1],[1,0],[2,1],[1,0],[3,-1],[2,-1],[3,-1],[3,-2],[2,-1],[3,-2],[3,-1],[2,-1],[2,0],[2,1],[1,1],[0,1],[1,2],[-1,1],[0,2],[-1,2],[-2,3],[-1,2],[-2,2],[-2,1],[-1,2],[-2,2],[-2,3],[-1,1],[-2,3],[0,3],[1,3],[0,3],[0,3],[-2,2],[-1,0],[-1,1],[-1,-1],[-1,-1],[-2,-1],[-2,-1],[-2,-1],[-1,1],[-2,1],[-2,1],[0,2],[0,2],[0,3],[0,3],[1,4],[0,3],[1,4],[0,2],[-1,5],[-2,3],[-2,3],[-3,3],[-2,1],[-3,1],[-3,-1],[-2,-1],[-2,-2],[-2,-1],[-1,-4],[0,-3],[1,-4],[1,-3],[2,-3],[2,-3],[0,-4],[0,-3],[-1,-1],[-2,-1],[-1,-1],[-2,1],[-2,1],[-2,2],[-1,3],[-1,2],[-1,3],[-1,4],[-1,4],[0,6],[1,5],[0,4],[0,5],[1,5],[1,5],[1,5],[0,5],[0,4],[0,4],[-1,4],[-1,5],[0,4],[-1,2],[0,2],[2,3],[3,3],[1,2],[1,3],[1,2],[0,4],[-1,2],[0,2],[0,2],[0,3],[0,2],[2,2],[1,1],[3,1],[3,1],[3,1],[2,1],[4,3],[2,1],[3,3],[1,3],[-1,3],[0,1],[-1,1],[-2,2],[-2,1],[-2,3],[-1,3],[0,2],[-1,5],[0,4],[0,3],[0,6],[-1,2],[0,2],[0,5],[-2,7],[-2,4],[-1,3],[-1,3],[-1,3],[-3,3],[-7,5],[-3,1],[-3,0],[-1,0],[-2,1],[-5,1],[-4,1],[-10,3],[-17,4],[-14,-1],[-20,-1],[-15,-3],[-3,0],[-2,-1],[-1,-2],[-2,-4],[-1,-5],[-2,-6],[-2,-6],[-2,-6],[-3,-5],[-6,-2],[-3,-1],[-6,1],[-5,1],[-6,2],[-4,3],[-3,3],[0,1],[-1,1],[0,1],[-1,0],[-7,4],[-22,13],[-2,0],[-24,-7],[-14,-13],[-6,-23],[0,-2],[0,-2],[1,-2],[1,-4],[0,-3],[1,-3],[1,-4],[0,-4],[0,-4],[0,-3],[1,-4],[0,-4],[0,-4],[0,-3],[0,-4],[0,-1],[0,-1],[-1,-2],[-1,-3],[0,-2],[-1,-3],[-1,-2],[-2,-2],[-2,-3],[-1,-1],[0,-1],[-1,0],[-1,-2],[-2,-1],[0,-1],[-2,-2],[-13,-11],[-1,-1],[-3,-5],[-3,-4],[-3,-4],[-3,-4],[-1,-2],[-1,-1],[-1,-2],[-3,-3],[-2,-2],[-4,-4],[-4,-3],[-3,-2],[-1,0],[-1,-1],[-1,-1],[-2,-1],[-4,-3],[-3,-1],[-4,-2],[-3,-1],[-3,-1],[-3,-1],[-1,0],[-20,-13],[-1,0],[-2,-2],[-1,-2],[-3,-2],[-2,-2],[-5,-5],[-1,0],[-1,-1],[0,-1],[-1,0],[-2,-1],[-2,-2],[-4,-2],[-3,-2],[-4,-1],[-6,-2],[-6,-2],[-5,-1],[-5,-1],[-4,0],[-3,0],[-4,-1],[-3,0],[-2,0],[-5,0],[-4,0],[-5,-1],[-3,-1],[-4,-1],[-3,-1],[-4,-2],[-3,-2],[-3,-1],[-3,-1],[-2,-1],[-4,-2],[-3,-1],[-4,-2],[-2,0],[-1,0],[-2,0],[-4,-1],[-4,0],[-2,0],[-3,0],[-2,0],[-3,0],[-3,0],[-2,0],[-2,0],[-1,0],[-2,1],[-4,1],[-3,1],[-3,2],[-1,0],[-3,2],[-5,1],[-2,1],[-1,0],[-4,0],[-4,-1],[-4,-1],[-4,-1],[-2,-1],[-3,0],[-3,1],[-3,0],[-3,1],[-3,1],[-3,1],[-3,2],[-2,3],[-2,2],[-3,2],[-2,2],[-1,1],[-1,0],[-2,1],[-2,2],[-1,1],[-1,1],[-3,1],[-1,2],[-1,0],[-1,1],[-1,1],[-3,3],[-1,1],[-3,3],[-1,1],[-5,11],[-5,9],[-1,1],[0,1],[-1,0],[-1,2],[-1,4],[-2,4],[-1,5],[-2,7],[-1,5],[0,5],[-2,11],[-1,2],[-11,23],[-9,9],[-6,6],[-1,0],[-1,1],[-18,3],[-1,0],[0,2],[0,4],[1,1],[1,5],[1,0],[2,2],[2,1],[2,1],[3,2],[6,2],[4,1],[5,2],[2,1],[3,1],[5,3],[4,2],[2,2],[2,1],[1,0],[2,-1],[6,-3],[4,-3],[3,-4],[5,-6],[4,-6],[8,-8],[2,-2],[10,-5],[14,-6],[15,-6],[13,-3],[9,-1],[3,1],[3,1],[1,0],[5,2],[8,6],[13,9],[14,9],[9,7],[9,6],[15,10],[12,8],[14,7],[3,3],[12,7],[9,8],[4,2],[2,1],[2,-1],[3,-1],[5,-4],[7,-5],[8,-4],[5,-1],[5,0],[6,2],[6,1],[5,1],[4,0],[5,2],[5,1],[4,3],[3,3],[2,4],[1,3],[1,4],[1,5],[1,6],[0,12],[0,13],[1,11],[1,9],[0,6],[2,6],[2,4],[1,2],[3,4],[5,7],[4,6],[4,6],[3,8],[2,4],[1,2],[2,7],[4,11],[2,5],[1,4],[0,5],[1,6],[1,6],[2,7],[2,6],[2,4],[1,5],[1,4],[0,7],[1,4],[1,4],[1,5],[1,5],[0,6],[0,5],[1,1],[0,1],[1,1],[3,2],[2,1],[2,1],[3,2],[2,3],[1,1],[3,3],[3,4],[1,2],[3,5],[4,6],[3,6],[0,1],[2,1],[2,2],[4,5],[2,4],[1,0],[0,2],[0,2],[1,2],[2,3],[2,3],[1,1],[3,4],[2,0],[4,2],[8,1],[1,1],[3,0],[3,1],[2,1],[2,1],[9,3],[4,3],[2,1],[1,2],[3,5],[4,4],[3,2],[3,1],[2,1],[3,2],[3,2],[2,2],[1,0],[3,2],[1,0],[1,1],[1,0],[1,1],[13,-3],[0,-1],[1,0],[2,0],[3,0],[2,0],[3,1],[3,2],[5,2],[3,1],[3,2],[2,2],[2,3],[2,5],[2,4],[1,5],[1,3],[0,4],[-1,3],[0,4],[1,2],[1,4],[2,5],[2,5],[2,4],[2,4],[2,3],[2,3],[2,5],[3,5],[2,4],[1,3],[0,4],[-1,4],[-1,5],[0,5],[0,6],[0,3],[0,1],[1,3],[0,4],[-1,4],[0,3],[-1,4],[0,3],[1,4],[1,5],[1,5],[0,4],[0,5],[0,4],[0,1],[0,5],[-1,4],[1,2],[0,7],[0,1],[1,2],[1,1],[0,1],[1,2],[0,1],[0,1],[0,2],[0,2],[1,2],[0,2],[0,1],[0,1],[-1,2],[0,1],[0,2],[-1,2],[0,2],[0,2],[-1,3],[0,2],[0,2],[0,1],[-1,2],[0,2],[-1,2],[0,2],[-1,2],[-1,2],[-1,3],[-1,1],[0,2],[0,2],[0,1],[0,1],[1,1],[0,2],[1,1],[0,1],[1,2],[1,2],[1,2],[1,3],[0,1],[1,2],[0,2],[1,3],[0,1],[0,2],[-1,2],[0,2],[-1,2],[-1,1],[0,2],[-1,1],[-1,1],[-2,2],[-2,2],[-1,2],[-1,3],[0,1],[0,1],[1,1],[1,2],[0,1],[1,2],[0,2],[0,1],[0,2],[0,2],[0,1],[0,2],[0,2],[-1,2],[0,2],[-1,3],[-1,3],[0,1],[1,1],[0,1],[0,1],[1,2],[1,1],[1,2],[1,1],[1,1],[1,1],[2,1],[1,2],[1,1],[1,1],[1,2],[0,1],[0,2],[0,2],[0,1],[0,2],[0,1],[1,2],[0,1],[1,1],[2,2],[1,1],[0,1],[0,1],[0,1],[-1,2],[0,1],[-1,1],[0,1],[0,1],[0,1],[0,1],[1,0],[1,1],[1,1],[2,1],[2,2],[1,1],[1,1],[4,2],[-1,0],[-1,0],[-1,0],[-1,0],[-50,0],[-1,0],[-32,0],[-42,1],[-5,0],[-1,0],[-2,0],[-2,0],[-1,0],[-2,0],[-2,0],[-1,0],[-1,0],[-24,0],[-1,0],[-1,0],[-1,0],[-18,0],[-21,1],[-17,0],[-1,0],[-2,0],[-2,0],[0,1],[0,1],[1,43],[0,2],[-1,5],[0,40],[1,32],[0,10],[0,1],[-1,2],[1,25],[0,25],[-1,13],[1,26],[0,46],[0,7],[0,16],[0,21],[0,1],[0,9],[0,14],[0,23],[0,67],[0,19],[0,47],[0,44],[-4,1],[0,22],[0,16],[0,6],[1,10],[-1,1],[1,1],[0,16],[0,12],[0,13],[0,4],[0,11],[1,2],[0,8],[-2,0],[-1,0],[-1,-1],[-2,0],[-2,1],[-1,1],[-1,0],[-1,0],[-1,0],[-2,0],[-1,2],[-2,2],[0,1],[-1,0],[-1,0],[0,1],[0,1],[-1,1],[0,1],[-1,0],[-1,0],[0,3],[0,1],[-1,1],[0,1],[-1,-1],[-1,0],[-1,0],[-1,2],[0,2],[0,1],[-1,2],[-1,2],[-1,2],[-1,0],[-1,0],[0,-1],[-1,1],[-1,0],[-1,0],[-1,1],[0,2],[0,1],[0,1],[-1,1],[-2,1],[-2,1],[-1,-1],[-2,0],[-21,-8],[-6,3],[-6,0],[-1,0],[-3,0],[-1,1],[-1,0],[-4,0],[-4,4],[-1,0],[-1,1],[-6,0],[-2,0],[-4,-5],[-5,-6],[-2,-1],[-4,-4],[-2,-2],[-1,-1],[-3,-1],[-1,0],[0,-1],[-1,0],[-1,-1],[-2,-1],[-2,0],[-1,0],[-7,-2],[-2,0],[-4,-1],[-4,-1],[-3,-2],[-1,-1],[-2,-2],[-4,-3],[-3,-2],[-2,-1],[-2,0],[-2,1],[-1,0],[-2,3],[-1,3],[0,10],[-6,5],[-12,-7],[-1,0],[-5,0],[-9,-9],[-2,-11],[-1,-2],[-5,0],[-23,13],[-1,1],[-6,-1],[-5,0],[-3,0],[-2,-1],[-1,0],[-2,0],[-3,0],[-3,0],[-2,0],[-2,0],[-1,-1],[-2,0],[-2,-1],[-3,-1],[-1,0],[-2,0],[-2,1],[-4,2],[-7,3],[-5,1],[-2,1],[-1,1],[-4,1],[-3,1],[-2,0],[-4,0],[-3,0],[-2,0],[-2,1],[-2,0],[-2,1],[-2,1],[-6,5],[-3,2],[-1,1],[-2,1],[-3,2],[-4,1],[-5,2],[-2,1],[-1,0],[-1,0],[-1,1],[-3,1],[-2,1],[-2,0],[-1,0],[-2,0],[-1,0],[-2,0],[-3,0],[-1,0],[-1,1],[-1,1],[-2,1],[-3,1],[-6,3],[-2,0],[-1,0],[-2,0],[-3,-1],[-2,-5],[-8,0],[-9,6],[-2,0],[-2,0],[-3,-1],[-2,-1],[-12,0],[-2,0],[-2,1],[-2,2],[-3,0],[-3,0],[-1,-1],[-2,0],[-4,-3],[-1,0],[0,-1],[-1,-1],[-2,-1],[0,-2],[-2,-2],[-1,-2],[-3,-3],[-1,-1],[-2,-1],[-1,0],[-4,0],[-2,0],[-2,-1],[-3,-1],[-2,0],[-2,-1],[-4,-2],[-8,-4],[-4,-1],[-1,-1],[-1,0],[-1,0],[-2,0],[-3,0],[-1,0],[-5,0],[-6,0],[-5,1],[-2,0],[-1,0],[-2,-1],[-1,0],[-2,0],[-1,0],[-1,1],[-2,-1],[-2,0],[-2,1],[-2,0],[-2,0],[-3,1],[-2,0],[-3,1],[-4,2],[-1,1],[-3,1],[-2,2],[-1,1],[-2,0],[-1,0],[-2,0],[-1,0],[-2,0],[-1,1],[-3,0],[-1,1],[-1,-1],[-2,0],[-1,-1],[-1,-1],[0,-1],[-2,-3],[0,-2],[-1,-2],[-1,-2],[-2,-2],[0,-1],[-1,-1],[-3,-2],[-5,-2],[-4,-1],[-2,-1],[-3,-1],[-1,0],[-1,0],[-1,-1],[-2,-1],[-1,0],[0,-1],[-2,-2],[-1,0],[-2,-1],[-2,-1],[-3,-1],[-1,0],[-1,0],[-1,0],[-2,0],[-1,0],[-2,-1],[-1,0],[-2,-1],[-1,-1],[-1,-2],[-2,-2],[-1,0],[-2,-1],[-1,-1],[-2,-1],[-1,-1],[-1,-2],[-1,-1],[0,-1],[0,-1],[0,-1],[0,-2],[0,-1],[-1,-2],[-2,-1],[-2,-1],[-2,-1],[-1,0],[-2,0],[-1,-1],[-1,-2],[-1,-1],[-1,-2],[-1,-3],[0,-1],[0,-1],[0,-1],[0,-1],[0,-2],[0,-3],[0,-1],[-1,-1],[-1,0],[-1,-2],[-2,-1],[-1,0],[-1,0],[-3,-2],[-3,-1],[2,-2],[0,-2],[-1,-1],[-1,0],[-1,0],[-2,0],[-1,0],[-1,0],[-1,-1],[0,-1],[-1,-1],[-1,-2],[-1,-2],[0,-1],[-1,-1],[-1,0],[-1,-1],[-1,-1],[-1,-1],[-2,-1],[-3,-1],[-1,0],[-1,0],[-2,0],[-1,0],[-2,0],[-1,-1],[-1,-1],[0,-2],[-2,-2],[-2,-1],[-1,-2],[0,-1],[0,-2],[-1,-1],[-1,-2],[-2,-1],[-2,-1],[0,-1],[-3,-2],[-1,-1],[-1,0],[-2,0],[-2,-1],[-1,0],[-4,-4],[-4,-4],[-1,0],[-3,-3],[-2,-3],[-2,-2],[-12,2],[-3,2],[-4,0],[-4,2],[-3,3],[-4,2],[-4,1],[-3,2],[-9,5],[-5,5],[-6,5],[-3,6],[-2,3],[-1,3],[-1,2],[-1,2],[0,1],[0,1],[-1,2],[-1,1],[0,2],[-1,1],[-3,2],[-2,2],[-1,1],[-2,1],[-2,2],[-1,2],[-1,1],[-2,2],[-1,1],[-4,4],[-2,1],[-1,1],[-2,2],[-2,3],[-3,4],[-3,4],[-2,2],[-1,1],[-2,0],[-1,0],[-1,-2],[-1,-1],[-2,-1],[-2,-1],[-2,-1],[-1,0],[-1,0],[-1,0],[-3,-1],[-2,0],[-2,-1],[-2,-1],[-3,-1],[-2,0],[-3,-1],[-2,0],[-2,-1],[-2,0],[-2,0],[-3,1],[-3,0],[-4,1],[-3,-1],[-2,0],[-1,1],[-1,2],[-3,0],[-5,-1],[-7,0],[-1,0],[-1,0],[-4,4],[-2,0],[-1,0],[-1,0],[-1,-4],[-1,-2],[-2,-1],[-1,-1],[-1,-1],[-2,0],[-1,0],[-2,0],[-1,0],[-2,-1],[-1,1],[0,1],[-1,0],[-1,0],[-2,0],[-2,0],[-3,1],[-2,-1],[0,1],[0,2],[-1,1],[0,2],[-1,2],[-1,2],[-1,2],[-1,1],[-1,2],[-8,10],[-1,2],[1,3],[0,1],[-2,2],[-2,0],[-1,1],[-1,1],[0,2],[0,2],[-1,2],[-1,1],[0,2],[0,2],[0,3],[0,2],[2,0],[0,1],[1,2],[-1,2],[-1,1],[-1,2],[-1,2],[-2,0],[-1,1],[-1,2],[0,1],[0,1],[-1,2],[1,2],[1,2],[0,1],[1,2],[0,1],[0,1],[0,2],[-1,3],[0,2],[-1,2],[-1,3],[-1,1],[0,2],[-1,3],[0,2],[-1,3],[-1,3],[-1,3],[0,3],[-1,4],[0,4],[-1,2],[0,2],[-2,4],[0,2],[0,2],[-1,3],[-1,2],[0,2],[0,3],[-1,2],[0,2],[0,2],[-1,2],[-1,1],[0,2],[-1,1],[-1,2],[-7,32],[-1,0],[0,3],[-1,2],[0,3],[-1,2],[-1,1],[-1,1],[0,1],[0,3],[-1,3],[0,2],[-1,1],[-1,1],[0,2],[-1,3],[0,2],[1,2],[1,1],[1,1],[0,2],[-1,0],[-1,5],[0,1],[0,2],[-1,1],[0,1],[-1,2],[0,1],[-1,3],[0,2],[-1,0],[0,1],[-1,1],[-1,1],[-2,2],[-2,3],[0,3],[-2,3],[0,1],[0,1],[0,2],[1,2],[0,2],[0,1],[-1,2],[-3,5],[-1,3],[0,1],[0,2],[-1,0],[-1,3],[0,2],[-1,2],[1,2],[-1,1],[-1,2],[-1,2],[-1,3],[-1,2],[-1,2],[0,2],[-1,3],[-1,0],[-2,-1],[-2,0],[-1,0],[0,2],[-1,1],[-4,5],[-1,2],[0,1],[0,2],[-1,2],[0,2],[0,1],[0,1],[-1,0],[-1,2],[-1,2],[-1,1],[0,1],[0,1],[-1,1],[0,1],[-4,4],[-1,2],[0,1],[-1,0],[-1,1],[-1,2],[-1,1],[0,2],[0,1],[1,1],[0,2],[0,1],[0,1],[0,1],[-1,0],[-1,0],[-2,0],[-1,-1],[-1,-1],[-1,-1],[-2,-3],[-2,-1],[-1,0],[-2,0],[-1,-1],[-1,0],[-1,-2],[-3,-3],[-1,-2],[0,-1],[-1,-2],[-1,0],[-1,0],[-1,0],[-1,0],[-2,-1],[-1,-1],[-1,0],[-4,-3],[-1,0],[-1,0],[-2,3],[-2,2],[0,1],[0,1],[0,1],[0,5],[0,1],[0,1],[0,1],[0,2],[0,1],[0,1],[0,1],[-1,1],[0,2],[-1,1],[-1,2],[0,1],[0,1],[0,1],[0,1],[0,1],[0,1],[-1,2],[-1,2],[0,1],[1,0],[1,1],[3,0],[1,1],[2,2],[1,1],[1,0],[2,0],[3,1],[2,2],[1,0],[1,1],[1,2],[0,2],[1,2],[1,1],[0,1],[0,1],[-2,2],[-1,1],[-1,1],[-1,1],[0,2],[-1,2],[-1,0],[-4,4],[0,1],[-1,2],[0,2],[1,1],[0,1],[1,0],[1,1],[2,1],[2,1],[2,1],[0,1],[0,1],[-1,1],[-1,1],[0,2],[0,1],[0,3],[0,1],[0,1],[-1,1],[0,1],[-2,2],[-1,2],[-1,1],[0,2],[-2,6],[-1,2],[-1,1],[0,2],[-1,1],[-1,2],[-1,2],[-1,0],[-1,1],[-2,1],[-4,2],[-3,2],[-2,2],[-1,0],[-3,2],[-1,0],[-1,0],[-1,-1],[-1,-1],[-1,0],[-2,0],[-1,1],[-2,-1],[-1,-1],[-1,0],[-1,1],[-1,0],[-1,0],[0,-2],[-1,-1],[-1,0],[-3,3],[-3,3],[-2,1],[-1,1],[-1,2],[-1,1],[-1,1],[-3,3],[-1,1],[-2,1],[-1,1],[-1,1],[0,1],[-1,1],[-1,2],[0,1],[-1,2],[-1,1],[-1,2],[-1,1],[-1,1],[-2,1],[-1,1],[-1,0],[0,2],[-1,1],[-2,1],[0,1],[-1,0],[-1,1],[0,2],[-1,3],[-1,2],[0,1],[0,1],[-1,2],[-1,2],[-2,3],[-1,2],[-2,2],[-1,3],[-1,1],[0,1],[1,1],[0,1],[0,1],[1,1],[1,0],[2,2],[1,1],[1,1],[1,3],[0,1],[1,3],[0,3],[-1,1],[0,2],[-2,2],[0,1],[-1,1],[0,1],[-1,1],[-1,0],[0,2],[0,1],[0,1],[0,1],[0,1],[0,1],[0,1],[-1,0],[-2,2],[0,1],[0,2],[-1,1],[-1,2],[-2,2],[-1,1],[-1,1],[-3,2],[-1,2],[0,1],[0,1],[0,2],[-1,1],[-1,0],[-2,-2],[-1,0],[-2,0],[-1,1],[-1,0],[0,1],[-1,1],[-1,0],[-1,-1],[0,-1],[1,-2],[1,-1],[-1,-1],[-1,-1],[-2,-1],[-2,0],[-1,1],[-2,2],[-2,1],[-2,1],[-1,0],[-2,0],[-2,0],[-1,1],[-1,1],[-2,1],[0,1],[-6,12],[3,14],[-5,15],[-7,35],[6,1],[1,0],[0,1],[0,1],[1,1],[-1,1],[0,1],[-1,1],[0,2],[-1,1],[-1,1],[1,2],[-2,2],[0,2],[1,2],[0,1],[-2,0],[-2,1],[-1,3],[-1,2],[-2,1],[1,2],[-3,2],[0,2],[1,2],[0,1],[-1,1],[-1,4],[-1,2],[-1,1],[-4,4],[0,1],[-1,1],[1,1],[0,1],[1,1],[0,1],[-1,1],[-2,0],[0,1],[-1,0],[0,1],[0,3],[0,1],[-1,0],[-1,0],[-3,5],[-1,1],[-1,0],[-1,0],[-2,2],[-1,1],[0,-1],[-2,0],[-1,0],[-1,1],[-1,7],[-1,3],[-2,3],[-1,3],[-1,1],[-2,1],[-3,2],[-1,1],[0,1],[-1,2],[-1,4],[-3,6],[-1,2],[-1,2],[-1,4],[1,2],[0,3],[-2,2],[-1,7],[0,3],[-1,3],[1,4],[-2,10],[-2,7],[0,6],[0,3],[-2,4],[-1,4],[0,2],[-1,5],[-1,3],[-1,4],[0,4],[-1,3],[-2,5],[-2,4],[-1,2],[-2,1],[-1,1],[-1,0],[0,2],[0,2],[0,2],[1,2],[0,2],[0,1],[-2,1],[-2,2],[-1,1],[0,2],[1,2],[-1,2],[-2,3],[-3,4],[-3,3],[-1,2],[-2,6],[-1,6],[-6,3],[-2,5],[-1,4],[-4,8],[-3,7],[-2,5],[0,6],[-1,3],[-2,8],[-2,3],[0,4],[-5,10],[-6,8],[-2,6],[-1,6],[-3,8],[-3,8],[-1,7],[-2,4],[0,3],[-2,3],[-1,3],[-4,-2],[-6,-1],[-5,-1],[-3,0],[-5,2],[-3,0],[-4,0],[-2,1],[-1,1],[-1,2],[0,2],[1,2],[-1,1],[-3,0],[-3,-1],[-4,-3],[-3,0],[-4,-1],[-3,-2],[-6,-1],[-3,-1],[-5,5],[-6,9],[-7,6],[-2,1],[-5,-1],[-3,-3],[-4,-6],[-1,-2],[-3,0],[-4,0],[-4,4],[-2,0],[-7,-4],[-5,-1],[-4,1],[-3,-3],[-1,-3],[-1,-2],[-3,-2],[-2,-3],[-3,-4],[-2,-2],[-3,-1],[-4,1],[-6,3],[-4,3],[-6,4],[-8,4],[-5,4],[-5,4],[-5,2],[-6,3],[-4,3],[-1,4],[-4,4],[-4,3],[-6,0],[-6,4],[-3,3],[-4,3],[0,4],[-4,4],[-1,2],[-2,1],[-2,1],[-2,1],[-1,2],[-2,4],[-1,3],[-2,4],[-1,3],[-1,3],[-1,2],[-2,2],[-1,0],[-19,-25],[-1,-1],[3,-4],[3,-5],[44,-59],[20,-52],[-14,-47],[-42,6],[-13,-21],[-11,-20],[-9,-15],[5,-1],[2,-29],[14,-11],[-29,-15],[-32,-56],[-16,-27],[-63,-112],[-39,-12],[-61,-19],[-24,-7],[-10,-3],[-7,-2],[-86,-27],[-4,-1],[-10,-4],[-5,-1],[-48,-15],[-2,0],[-31,-10],[-50,-16],[-1,2],[1,2],[1,3],[0,3],[1,1],[0,2],[1,1],[1,3],[0,4],[-2,5],[-3,4],[-2,3],[-3,4],[-4,2],[-2,4],[-2,2],[0,4],[-1,3],[0,2],[0,1],[-4,2],[-3,3],[-2,2],[-1,2],[-3,3],[0,2],[1,2],[1,3],[0,2],[0,2],[1,1],[2,2],[-3,1],[-3,3],[-1,4],[-1,3],[-4,3],[-3,3],[-1,1],[0,2],[0,1],[-1,1],[0,3],[1,2],[1,1],[-3,0],[0,2],[-1,2],[-2,2],[0,3],[-1,2],[0,1],[-2,1],[-2,-1],[-3,0],[-2,1],[-1,0],[-1,0],[-3,0],[-3,1],[-4,-2],[-3,-1],[-4,0],[-2,1],[-2,-1],[-4,-1],[-1,1],[-1,2],[-3,2],[-3,-2],[-3,3],[-5,2],[-3,-3],[-4,-4],[-4,1],[-4,2],[-2,3],[-5,-1],[-3,-1],[-5,1],[-2,2],[-2,3],[-1,0],[-7,3],[-6,1],[-4,1],[-2,4],[-2,2],[-2,0],[-2,0],[0,4],[-1,4],[-2,4],[-1,4],[-1,3],[3,3],[-1,3],[-2,3],[-1,4],[-2,5],[-2,2],[-2,3],[1,2],[-1,3],[0,2],[-1,1],[-6,5],[-4,1],[-4,2],[-4,2],[-1,0],[-3,-1],[-2,8],[1,3],[-2,2],[0,5],[1,4],[1,4],[-2,3],[-1,3],[0,1],[2,2],[1,2],[0,1],[1,2],[2,2],[2,2],[0,3],[1,2],[0,2],[-1,2],[-1,0],[-2,0],[-1,1],[-2,2],[0,1],[-1,2],[-1,0],[-1,0],[-1,1],[-1,0],[-1,1],[-1,0],[-2,1],[-1,0],[-1,0],[-1,0],[-1,3],[-2,0],[-2,1],[-1,0],[-2,1],[0,2],[-1,3],[-1,3],[-1,2],[-1,0],[-3,-1],[-2,0],[0,1],[0,1],[1,3],[1,2],[-1,2],[0,2],[0,2],[0,2],[1,3],[1,1],[0,1],[0,1],[-1,0],[-1,0],[-1,0],[-1,2],[0,2],[-1,0],[-1,0],[-2,2],[-2,3],[-2,0],[-1,0],[0,1],[0,2],[0,5],[-1,1],[-1,1],[0,2],[0,1],[-1,2],[-2,0],[-1,0],[-2,0],[-2,0],[-2,2],[-1,1],[-1,1],[0,2],[-1,1],[0,1],[-2,3],[0,2],[1,0],[-2,2],[0,2],[0,1],[-1,1],[1,1],[2,1],[0,1],[-2,1],[0,1],[-1,1],[0,2],[0,1],[-2,1],[-1,1],[0,2],[-2,0],[0,2],[-1,1],[-2,0],[-3,1],[-2,0],[-1,1],[-1,2],[-1,2],[-1,2],[-1,2],[-2,2],[-2,1],[-1,0],[0,1],[-1,2],[-3,1],[0,1],[1,2],[0,2],[0,1],[1,1],[-1,1],[-1,1],[1,2],[-1,3],[2,0],[0,1],[2,5],[0,1],[-1,1],[0,1],[0,1],[0,3],[1,2],[0,1],[0,1],[0,1],[-1,1],[1,1],[0,1],[1,1],[0,2],[-1,1],[0,2],[-1,2],[-1,2],[0,2],[-1,2],[-1,2],[-1,1],[-2,0],[-1,1],[-2,0],[-1,1],[-3,1],[-4,2],[-4,2],[-3,2],[-3,2],[-3,2],[0,3],[-1,3],[-2,2],[-3,2],[-3,2],[-2,2],[-3,1],[-1,1],[0,1],[2,1],[0,1],[0,1],[0,1],[-2,2],[-2,0],[-2,1],[-1,1],[-1,2],[-1,2],[-1,2],[0,2],[1,2],[0,1],[-2,0],[-4,1],[0,1],[-1,3],[-1,0],[-2,0],[-2,0],[-2,1],[-1,3],[-1,2],[-2,1],[-1,2],[-2,2],[-2,3],[0,1],[-2,1],[-2,1],[-1,0],[-2,0],[-1,1],[-2,0],[-1,0],[-1,0],[-3,0],[-1,1],[-1,1],[-2,2],[-2,2],[-1,2],[-1,1],[-3,-1],[-1,1],[-2,3],[-2,3],[0,3],[-1,2],[-1,1],[-2,1],[-1,2],[0,1],[-1,1],[1,2],[-2,1],[0,1],[1,1],[1,2],[-1,2],[-1,1],[-1,0],[-2,1],[-1,1],[-2,-1],[-1,-1],[0,-1],[0,-1],[0,-2],[-1,0],[0,-1],[-1,-1],[-2,0],[-1,0],[-1,0],[-1,-1],[-1,0],[-2,0],[-1,0],[-2,0],[-2,0],[-2,-2],[0,2],[-2,0],[-1,-1],[-2,1],[-1,2],[-1,1],[-3,0],[-1,1],[-2,1],[0,1],[0,2],[0,2],[1,2],[1,2],[-1,3],[-1,2],[-2,1],[-3,1],[-3,0],[-2,1],[-3,1],[-2,1],[2,3],[1,3],[1,1],[0,3],[0,1],[-1,2],[0,1],[-1,3],[-1,-1],[-1,-1],[-1,-1],[-2,0],[-1,1],[-2,1],[-1,2],[-8,0],[-6,0],[-6,0],[-6,0],[-6,0],[-2,0],[-8,0],[-6,0],[-6,0],[-7,0],[-9,0],[-10,0],[-6,0],[-6,0],[-4,0],[-3,0],[-4,0],[-5,0],[-4,0],[-3,0],[-4,0],[-2,0],[-2,0],[-3,0],[-5,1],[-8,0],[-3,0],[-7,-1],[-1,0],[-8,0],[-9,0],[-3,0],[-6,0],[-6,1],[-9,0],[-8,-1],[-8,0],[-5,0],[-2,1],[-8,-1],[-6,1],[-10,0],[-2,0],[-7,0],[-7,0],[-6,0],[-5,0],[-2,0],[-2,0],[-2,0],[-2,0],[-6,-1],[-4,1],[-3,0],[-7,0],[-8,1],[-1,0],[-1,0],[-5,0],[-6,0],[-5,1],[-1,0],[-6,-1],[-7,1],[-10,0],[-1,0],[-5,0],[-6,0],[-5,0],[-1,0],[-4,1],[-7,0],[-1,0],[-4,0],[-5,-1],[-5,0],[-6,0],[-5,0],[-4,0],[-2,0],[-5,0],[-5,0],[-9,0],[-4,0],[-5,0],[-6,1],[-8,1],[-9,2],[-2,0],[-5,0],[-8,1],[-2,0],[-3,0],[-4,0],[-2,0],[-3,0],[-10,-1],[-19,0],[-14,0],[-15,0],[-13,-1],[-8,0],[-6,0],[-6,0],[-9,1],[-6,0],[-8,0],[0,-8],[0,-5],[0,-3],[-1,-28],[-24,1],[-18,0],[-6,1],[-22,1],[-15,1],[-18,-1],[-5,0],[-19,0],[0,-44],[0,-1],[0,-19],[0,-30],[-12,-1],[-1,0],[-42,0],[-3,0],[-16,0],[-19,0],[-60,0],[-14,0],[-13,0],[-29,0],[-11,0],[-3,0],[-13,-1],[-11,0],[-17,0],[-17,0],[-24,0],[-7,0],[-12,-1],[-11,-2],[-2,0],[-14,0],[-14,-1],[-119,-1],[-1,0],[-8,0],[-42,-1],[0,-44],[0,-3],[0,-20],[1,-9],[0,-16],[-19,1],[-19,-1],[-2,0],[-45,-1],[-2,0],[-3,0],[-9,0],[-46,0],[-5,0],[-9,0],[-16,1],[-34,1],[-23,2],[-8,0],[-13,1],[-4,0],[-30,1],[-2,0],[-6,0],[-2,0],[-1,0],[-4,-1],[0,-1],[-1,-1],[0,-1],[0,-1],[0,-1],[1,-2],[-1,-4],[0,-2],[-1,-1],[-1,0],[-2,1],[-2,1],[-8,0],[-3,-1],[-1,-1],[-1,-2],[0,-2],[-2,-5],[-1,-2],[0,-4],[-1,-3],[-1,-1],[-1,-1],[-1,0],[-1,1],[-2,1],[-1,1],[-2,0],[-1,0],[-2,1],[-1,-1],[-2,0],[-1,-1],[-1,-2],[0,-2],[-1,-3],[-1,-1],[0,-2],[-1,-4],[0,-2],[0,-4],[-1,-3],[-1,-2],[0,-2],[-1,-1],[-2,-1],[-2,0],[-1,1],[-2,2],[-2,4],[-5,6],[-4,2],[-3,3],[-3,4],[-3,4],[-3,3],[-1,2],[-1,0],[0,-1],[-1,0],[0,-1],[2,-3],[2,-2],[1,-7],[1,-4],[0,-6],[-1,-3],[-1,-1],[0,-1],[1,-1],[2,-1],[1,0],[2,-1],[1,-1],[1,-1],[1,-1],[2,1],[1,-1],[0,-2],[0,-1],[1,-1],[0,-1],[0,-1],[0,-1],[0,-1],[2,-1],[0,-1],[1,-1],[-1,-1],[-2,0],[0,-1],[-2,-1],[0,-1],[1,0],[1,-1],[0,-1],[2,-2],[0,-1],[1,-1],[0,-2],[0,-1],[1,-1],[1,0],[2,1],[2,0],[1,0],[1,-1],[1,-2],[0,-1],[3,-1],[3,-3],[0,-1],[1,-1],[0,-1],[0,-1],[1,0],[0,-2],[2,-1],[0,-1],[1,-1],[1,-1],[1,-1],[-1,-1],[4,-1],[1,-1],[-1,0],[-1,-1],[0,-1],[1,-1],[4,0],[1,-2],[1,-1],[3,-1],[1,0],[0,1],[0,1],[2,1],[4,0],[1,-1],[2,0],[0,-1],[1,-1],[3,0],[2,-1],[1,-1],[0,-1],[1,-1],[3,0],[1,-1],[1,0],[1,0],[1,0],[0,-1],[1,-2],[1,0],[2,0],[2,0],[2,-1],[1,0],[0,-1],[2,0],[1,-1],[1,-1],[2,0],[2,-2],[0,-1],[-1,-1],[2,-1],[1,-2],[1,-1],[1,-4],[1,-1],[0,-2],[1,-2],[1,-2],[1,-1],[2,-1],[2,1],[3,-2],[1,-1],[1,-2],[0,-1],[0,-2],[3,-2],[0,-2],[1,0],[1,1],[1,-1],[1,1],[1,0],[1,-1],[1,-2],[2,-1],[1,-1],[0,-1],[0,-1],[2,0],[1,-1],[1,-1],[1,-1],[0,-1],[1,0],[0,-1],[2,-2],[2,-1],[1,0],[2,1],[0,1],[2,0],[1,0],[2,0],[0,-2],[-1,-1],[1,-1],[2,0],[2,0],[1,0],[0,-1],[0,-1],[1,-1],[1,0],[1,-1],[1,0],[2,1],[0,-1],[1,0],[1,-1],[0,-1],[1,0],[1,1],[1,-1],[0,-1],[0,-1],[0,-1],[3,0],[2,-1],[2,-1],[0,-1],[0,-1],[-1,0],[3,-3],[1,-1],[0,-2],[1,-1],[1,0],[0,-1],[1,0],[0,-1],[1,-1],[2,0],[2,-1],[1,-1],[0,-2],[1,-1],[0,-1],[1,-1],[0,-3],[-1,0],[1,-1],[0,-1],[1,-2],[1,0],[1,-1],[2,-1],[0,-1],[0,-2],[-1,0],[-1,-1],[0,-1],[2,0],[2,0],[0,-1],[-1,-1],[0,-1],[0,-1],[2,-1],[2,-1],[0,1],[1,0],[1,-1],[-1,-1],[0,-1],[1,0],[0,-1],[2,1],[0,-1],[-1,0],[0,-1],[2,-1],[1,-1],[0,-1],[1,0],[0,1],[0,1],[1,0],[2,0],[1,0],[0,-2],[1,0],[2,-1],[-1,-1],[0,-1],[-1,0],[-1,0],[0,-1],[1,-2],[0,-1],[2,0],[3,0],[1,0],[2,-2],[1,0],[1,-2],[1,0],[0,-2],[0,-2],[0,-1],[1,0],[1,-1],[1,-1],[0,-2],[0,-3],[0,-1],[-1,-1],[0,-1],[0,-1],[1,0],[2,0],[0,-1],[2,-2],[0,-1],[1,0],[1,0],[0,-1],[0,-2],[1,-1],[-1,-1],[-1,-1],[1,-2],[1,0],[1,1],[2,-1],[2,-1],[1,-1],[1,0],[1,-1],[1,-6],[0,-7],[1,-6],[-1,-1],[-1,-1],[-1,0],[-4,0],[-1,0],[0,-1],[1,-2],[1,0],[2,0],[1,-1],[0,-1],[1,-1],[1,0],[1,1],[1,0],[0,-1],[-1,-1],[0,-1],[0,-1],[-1,-1],[0,-1],[1,-1],[2,0],[0,1],[1,0],[0,3],[1,1],[1,-1],[0,-2],[-1,-1],[0,-1],[1,0],[1,0],[1,0],[1,0],[0,-1],[-1,-1],[0,-1],[0,-1],[0,-1],[1,0],[0,1],[0,1],[1,0],[1,1],[1,1],[0,-1],[0,-1],[1,0],[1,0],[0,-2],[0,-1],[1,0],[1,0],[1,0],[1,0],[0,-2],[1,-2],[1,0],[1,1],[0,-1],[1,-1],[4,0],[2,-1],[2,0],[0,-2],[0,-1],[0,-1],[0,-2],[2,0],[1,-2],[1,-1],[0,-2],[1,-1],[2,0],[1,-1],[-1,0],[0,-1],[1,-1],[0,-2],[1,0],[1,-1],[1,-1],[-2,-1],[0,-1],[-2,0],[0,-1],[1,-1],[1,-1],[2,0],[-1,-2],[1,0],[1,-2],[2,0],[1,-1],[2,-2],[1,-2],[3,-3],[0,-1],[2,0],[0,-1],[0,-1],[1,-1],[0,-2],[0,-1],[0,-1],[1,0],[0,-2],[-1,0],[0,-1],[0,-1],[1,0],[1,0],[0,-1],[1,-2],[1,-1],[4,-3],[0,-1],[0,-1],[0,-1],[-2,0],[-1,-1],[-1,-2],[-1,0],[-1,0],[0,-1],[1,-1],[1,-1],[0,-2],[4,0],[0,-1],[1,-1],[0,-1],[1,0],[1,-1],[1,-1],[-1,-1],[0,-1],[1,0],[1,0],[1,-1],[1,0],[0,-1],[0,-1],[0,-1],[-1,0],[0,-1],[4,-8],[0,-1],[3,-2],[1,0],[0,-1],[-2,-1],[0,-1],[0,-1],[0,-1],[2,0],[1,-1],[1,0],[-1,-2],[1,0],[0,-1],[2,0],[1,-1],[1,0],[0,-2],[2,-1],[0,-1],[1,-1],[2,-1],[3,-3],[0,-1],[0,-3],[0,-1],[-1,0],[-3,-1],[0,-1],[0,-1],[2,-1],[3,-1],[3,-2],[1,0],[1,0],[1,-1],[1,-2],[2,-2],[0,-1],[2,-4],[1,0],[1,-3],[0,-2],[0,-2],[-1,0],[-1,1],[-3,2],[-1,-1],[0,-1],[0,-1],[1,-1],[0,-2],[3,-2],[1,0],[1,-1],[0,-1],[1,-1],[0,1],[1,1],[1,0],[-1,-3],[-1,0],[0,-1],[3,-1],[2,0],[0,-1],[1,-2],[1,0],[0,-1],[1,-1],[3,1],[1,-1],[0,-1],[1,0],[0,-1],[0,-1],[1,0],[0,-2],[0,-1],[1,-1],[-1,-2],[1,0],[1,-1],[1,0],[1,-1],[0,-1],[1,-1],[0,-2],[3,-1],[0,-1],[1,-1],[0,-1],[1,-1],[0,-1],[0,-1],[1,-1],[2,-2],[1,0],[1,-1],[0,-1],[-1,-1],[1,-1],[2,0],[2,-2],[2,-1],[3,-1],[1,0],[1,-2],[1,0],[5,-1],[2,-4],[0,-1],[0,-1],[-1,-1],[0,-1],[-2,-2],[0,-1],[0,-1],[0,-1],[2,-1],[1,-2],[-1,-1],[-1,-1],[-1,0],[-1,0],[-1,0],[-1,1],[-1,0],[0,-1],[-3,0],[-3,-3],[1,-1],[-1,-1],[1,-1],[1,1],[0,-1],[2,-2],[0,-1],[-1,-1],[2,-2],[2,-2],[1,0],[0,1],[1,0],[1,-1],[3,-3],[0,-1],[-1,0],[1,-1],[2,0],[2,-1],[1,0],[1,0],[2,-2],[1,-1],[1,1],[1,-1],[1,0],[1,0],[0,-1],[-1,0],[0,-2],[1,-1],[1,-1],[0,-1],[0,-1],[-1,-1],[1,-1],[1,-2],[1,0],[0,1],[2,0],[0,-1],[2,0],[1,0],[1,0],[0,1],[2,2],[1,0],[1,0],[1,0],[1,0],[1,1],[1,0],[1,-2],[1,0],[2,-3],[2,1],[0,1],[1,-1],[2,-1],[0,-1],[0,-3],[0,-1],[2,-2],[2,-1],[2,-3],[2,-2],[1,-1],[-1,-1],[0,-1],[2,-2],[4,-2],[0,-1],[-1,-2],[0,-1],[3,-3],[0,-1],[1,0],[0,-1],[-1,0],[-2,-1],[0,-1],[1,-1],[2,0],[1,-1],[0,-1],[1,-1],[2,-1],[0,-1],[0,-2],[1,0],[0,-2],[1,-1],[1,0],[3,-1],[3,-1],[2,0],[0,-1],[0,-2],[-1,-1],[-2,0],[-2,0],[-1,1],[-2,-1],[0,-1],[0,-1],[-1,-3],[-1,-1],[0,-2],[-1,-2],[0,-3],[0,-2],[1,-1],[0,-1],[1,-1],[0,-2],[1,-1],[0,-1],[-1,0],[0,-1],[1,0],[1,-1],[0,-1],[-1,-1],[-1,0],[0,-1],[-1,-1],[-1,-1],[1,0],[0,-1],[2,0],[1,0],[0,-1],[0,-2],[1,-1],[1,1],[2,-1],[2,0],[1,-1],[0,-1],[-1,0],[-1,-1],[1,-2],[1,-1],[0,-1],[1,-1],[0,-1],[1,-1],[0,-2],[1,-1],[1,-2],[1,0],[1,-1],[1,0],[1,1],[1,1],[1,1],[1,0],[0,1],[0,2],[1,0],[2,-1],[1,-2],[-1,-1],[0,-1],[3,0],[3,-4],[1,0],[2,-2],[3,0],[1,0],[0,-2],[0,-2],[0,-2],[1,-1],[0,-1],[-2,-1],[2,-1],[1,0],[1,0],[1,-1],[2,0],[2,0],[1,-1],[2,-1],[1,0],[2,1],[0,-2],[1,-2],[2,0],[1,0],[2,-1],[0,-1],[3,0],[1,-2],[1,0],[2,-1],[1,0],[1,0],[1,0],[0,-2],[1,0],[9,-13],[1,-2],[1,0],[-1,-2],[1,-1],[0,-2],[1,-1],[1,-1],[1,-2],[0,-2],[0,-1],[1,0],[1,-1],[1,2],[1,0],[3,-2],[-1,-1],[1,0],[1,0],[1,-1],[1,0],[2,0],[1,1],[1,0],[1,0],[1,-1],[-1,-2],[0,-1],[-2,-1],[0,-1],[1,0],[0,-1],[-1,-1],[0,-1],[1,0],[1,0],[1,-2],[2,-1],[2,0],[1,0],[2,0],[1,-1],[2,-2],[1,-1],[0,-1],[1,0],[1,0],[1,-2],[1,0],[1,-1],[2,-1],[1,1],[1,1],[0,1],[1,0],[0,-1],[0,-2],[1,0],[2,0],[0,-2],[1,0],[1,1],[1,0],[0,-1],[3,-3],[0,-1],[0,-1],[1,-2],[1,0],[1,-1],[0,-1],[0,-1],[0,-1],[2,-1],[2,1],[1,0],[1,0],[1,0],[1,0],[1,-1],[0,-2],[0,-1],[0,-2],[1,0],[0,-2],[-1,-1],[0,-2],[1,-1],[0,-1],[0,-1],[0,-1],[1,0],[21,-19],[1,-1],[4,-2],[2,0],[1,-1],[1,0],[2,0],[1,-2],[0,-1],[-1,0],[-1,-1],[0,-1],[0,-1],[3,-1],[0,-1],[1,-1],[0,-1],[1,-1],[2,0],[0,-2],[1,0],[1,0],[2,-1],[1,-2],[2,1],[0,-1],[1,-1],[0,-1],[0,-1],[-1,-1],[1,-1],[0,-1],[0,-1],[1,0],[2,0],[1,0],[1,0],[3,-1],[2,-2],[0,-3],[0,-1],[-3,-5],[0,-1],[1,-1],[1,-1],[3,0],[0,-1],[2,0],[1,-1],[0,-2],[2,-1],[1,0],[0,-1],[2,0],[1,1],[0,1],[15,0],[0,-1],[3,-1],[1,0],[0,-2],[2,-1],[0,1],[3,2],[1,0],[2,0],[1,-1],[1,-1],[1,1],[1,0],[2,-2],[0,-1],[0,-2],[0,-2],[0,-1],[0,-1],[0,-1],[1,-1],[2,0],[3,0],[1,-1],[1,-1],[1,-1],[0,-2],[-1,-3],[-1,0],[0,-1],[1,-1],[1,0],[1,0],[1,0],[1,-1],[2,0],[4,-1],[1,-2],[3,-1],[2,-2],[1,-1],[3,-2],[2,-1],[4,-1],[2,0],[3,0],[3,1],[2,0],[2,0],[2,-2],[3,-3],[3,-1],[2,-2],[3,-2],[2,0],[6,-1],[2,-1],[2,-1],[4,-2],[3,-2],[2,-3],[1,-2],[1,-1],[9,-3],[3,-2],[4,-1],[3,-4],[3,-2],[4,-3],[6,-4],[1,-1],[2,-1],[2,-1],[1,-1],[1,-2],[0,-2],[1,-1],[5,-2],[2,-1],[1,-1],[1,-2],[1,-1],[1,0],[3,-1],[2,-3],[2,-2],[2,-3],[2,-1],[3,0],[2,-1],[1,-1],[1,-1],[0,-1],[-1,-1],[0,-1],[1,-1],[2,1],[2,-1],[2,0],[1,0],[4,-4],[1,-1],[0,-1],[1,-4],[0,-2],[0,-1],[0,-1],[-1,0],[0,1],[-1,-1],[0,-1],[1,0],[2,0],[1,-1],[1,-1],[0,-1],[-2,-1],[0,-2],[1,-1],[1,0],[1,-1],[2,2],[1,0],[1,0],[1,1],[3,-2],[1,0],[1,-3],[1,-1],[3,-1],[0,-2],[-1,-2],[0,-1],[2,-1],[2,0],[3,1],[2,-1],[1,0],[1,-2],[0,-2],[0,-1],[-1,0],[-1,0],[-1,-1],[0,-2],[0,-3],[1,0],[1,0],[1,0],[0,1],[0,2],[0,1],[1,0],[1,-1],[1,-1],[2,0],[1,-1],[2,-3],[3,-1],[3,0],[0,-1],[1,0],[-2,-3],[-1,-1],[0,-1],[2,0],[1,2],[1,0],[1,-1],[1,-1],[1,-1],[1,-1],[-1,-1],[-2,0],[0,-1],[0,-1],[0,-1],[2,0],[0,1],[3,0],[2,0],[1,0],[3,-1],[1,-1],[2,-1],[5,-1],[4,-2],[2,-1],[2,-2],[2,-2],[3,-4],[3,-1],[0,-2],[1,0],[-1,-1],[1,-2],[1,-2],[1,-2],[2,-7],[0,-6],[1,-4],[0,-2],[0,-1],[-1,-1],[-1,-1],[-1,0],[-1,-3],[0,-2],[1,-1],[1,0],[1,1],[2,2],[2,2],[1,0],[1,-1],[1,-1],[1,-2],[1,-3],[1,-2],[0,-1],[0,-1],[2,-9],[0,-3],[0,-3],[2,-2],[0,-2],[0,-1],[-1,-1],[-1,-1],[-1,0],[1,-1],[2,-1],[1,0],[1,0],[1,0],[1,-2],[1,0],[1,1],[1,0],[1,-1],[1,-1],[1,-4],[0,-2],[1,-2],[0,-3],[0,-1],[2,-3],[0,-2],[0,-1],[1,-1],[1,-1],[0,-1],[0,-1],[3,0],[3,-2],[3,-1],[2,0],[2,-1],[0,-3],[0,-1],[2,-3],[5,-2],[2,-2],[0,-1],[0,-1],[2,-1],[0,-1],[3,-4],[0,-1],[2,-2],[0,-3],[2,-3],[1,-1],[1,-2],[0,-1],[0,-3],[0,-1],[1,0],[1,-1],[0,-1],[0,-2],[2,-2],[0,-1],[-1,-1],[0,-1],[1,-1],[0,-5],[1,-4],[1,-2],[2,-5],[0,-2],[1,-2],[-1,-5],[1,-4],[-1,0],[-2,0],[1,-1],[1,-1],[1,0],[0,-1],[-1,-1],[0,-2],[0,-1],[2,0],[0,-2],[1,-1],[3,0],[1,1],[0,1],[0,1],[-1,2],[1,0],[0,1],[1,-1],[1,1],[1,0],[1,-3],[2,0],[1,0],[3,-3],[1,-2],[1,0],[1,-1],[5,-3],[0,-2],[1,-1],[0,-2],[0,-3],[1,-2],[1,-3],[0,-1],[0,-1],[0,-1],[1,-1],[0,-1],[1,-2],[1,-2],[1,-3],[1,-2],[1,-3],[1,-4],[0,-4],[0,-1],[0,-1],[0,-1],[1,-1],[1,-1],[2,0],[1,-1],[1,-1],[1,-1],[0,-1],[0,-1],[-1,-2],[0,-2],[2,-1],[2,-3],[2,-3],[1,-1],[1,-1],[1,-1],[1,-3],[2,-1],[3,-10],[0,-1],[3,-4],[1,-2],[2,-5],[0,-1],[1,-4],[1,-3],[1,-1],[0,-2],[0,-1],[1,-1],[1,-5],[0,-5],[0,-3],[-1,-3],[1,-2],[0,-2],[-1,-3],[0,-6],[0,-11],[0,-9],[-1,-8],[0,-4],[0,-4],[0,-7],[-1,-3],[-1,-2],[0,-3],[-2,-4],[-1,-3],[0,-1],[-1,-4],[-2,-6],[-1,-2],[0,-2],[-2,-5],[-2,-3],[-2,-2],[-1,0],[-1,0],[-1,1],[-2,1],[-1,1],[-1,0],[-1,-1],[2,-4],[0,-1],[0,-1],[2,-2],[4,-2],[1,-2],[1,-2],[4,-7],[1,-1],[1,0],[1,2],[2,1],[1,0],[1,-2],[0,-1],[0,-1],[-2,-2],[-1,-3],[1,-1],[1,-3],[1,-3],[0,-1],[2,-3],[2,-2],[0,-2],[0,-1],[0,-1],[1,-1],[1,-3],[1,-1],[2,-2],[0,-2],[0,-3],[1,-1],[0,-2],[0,-1],[0,-1],[0,-1],[2,-2],[1,0],[1,0],[1,0],[0,-1],[1,-3],[2,-4],[2,0],[1,-1],[1,-1],[1,-1],[1,0],[1,-1],[1,0],[1,0],[1,1],[1,1],[0,1],[2,0],[3,-1],[1,0],[1,1],[1,1],[2,4],[-1,2],[1,1],[1,1],[0,1],[-1,1],[-3,3],[-1,2],[-2,1],[-2,0],[-2,-1],[-1,1],[-1,1],[0,3],[0,3],[0,2],[-3,6],[-4,5],[-1,2],[0,2],[0,1],[2,1],[6,2],[1,2],[1,0],[1,1],[-1,3],[-1,2],[0,1],[1,2],[4,6],[1,1],[0,1],[-1,4],[0,6],[0,6],[0,3],[-1,2],[-1,1],[-3,3],[-2,2],[0,1],[0,2],[-2,8],[-1,2],[-1,2],[0,3],[1,2],[2,3],[1,1],[1,0],[2,-1],[1,-2],[2,-1],[2,-1],[1,0],[1,0],[1,-1],[1,-2],[1,0],[1,0],[0,2],[1,0],[2,0],[0,-1],[-2,-1],[-1,-1],[1,-1],[1,0],[1,0],[2,3],[1,-1],[1,-2],[3,-5],[2,-3],[2,-3],[2,-2],[0,-1],[3,-2],[1,0],[3,-3],[3,-3],[2,-3],[0,-2],[1,-1],[2,-4],[1,-1],[0,-1],[-1,0],[-1,0],[-1,-1],[-1,-6],[0,-3],[1,-2],[2,-4],[1,0],[2,-1],[0,-2],[-2,-2],[-1,-1],[-5,1],[-5,-1],[-3,0],[-2,-1],[-1,0],[-1,1],[-1,0],[-3,1],[-2,0],[-2,0],[-3,-3],[-1,-1],[0,-1],[2,-2],[0,-1],[-1,-1],[-1,-1],[-2,0],[-1,-1],[-1,-2],[-2,-2],[-1,-2],[-1,-3],[-1,-2],[0,-3],[1,-3],[1,-2],[1,0],[1,0],[1,1],[-1,2],[1,4],[2,5],[2,3],[3,2],[2,2],[2,1],[3,1],[4,2],[4,1],[5,0],[5,0],[8,-1],[12,-3],[7,-3],[2,-1],[3,0],[1,-1],[4,-5],[4,-2],[4,-3],[3,-3],[2,-3],[4,-2],[2,-1],[2,-2],[1,-1],[2,-2],[2,-2],[3,-4],[2,-1],[2,-2],[2,-4],[3,-3],[2,-1],[2,0],[1,-1],[3,-4],[2,-2],[1,-2],[1,-2],[0,-19],[43,-118],[35,0],[0,-1],[0,-1],[-1,-2],[0,-2],[-1,-3],[0,-4],[0,-5],[-1,-4],[-1,-3],[-1,-5],[-1,-5],[0,-1],[-2,-3],[-1,-4],[-3,-5],[-1,-2],[0,-3],[2,-3],[1,0],[1,0],[9,1],[6,-1],[3,-2],[1,1],[0,1],[0,1],[0,3],[0,2],[0,1],[1,0],[1,-1],[1,1],[1,1],[1,0],[1,-1],[1,-1],[1,-2],[1,0],[0,2],[0,1],[0,1],[0,3],[1,0],[1,0],[3,-2],[2,-2],[1,-1],[2,-2],[0,-1],[1,0],[0,-2],[2,-2],[2,-4],[0,-2],[-1,-4],[-1,-2],[0,-4],[0,-1],[3,-5],[0,-4],[-1,-2],[-1,-4],[-2,-4],[0,-1],[0,-4],[-1,-3],[1,0],[0,-3],[0,-2],[1,-3],[1,-1],[2,1],[3,2],[1,1],[1,2],[1,2],[1,2],[3,3],[0,1],[-1,1],[0,1],[-1,1],[-1,0],[1,1],[1,0],[1,-1],[2,0],[4,2],[3,-2],[3,0],[2,-2],[2,-1],[1,-1],[1,-3],[3,-3],[1,-1],[4,-4],[1,-2],[1,-2],[0,-4],[3,-2],[1,-1],[1,2],[3,0],[1,1],[0,1],[2,1],[1,1],[0,2],[1,1],[3,2],[1,1],[0,1],[0,3],[1,2],[4,3],[1,2],[1,2],[5,5],[1,0],[-1,-1],[-2,-8],[-1,-3],[-2,-3],[-2,-9],[1,-8],[-1,-3],[0,-4],[1,-6],[-1,-1],[1,-3],[1,0],[1,-1],[1,-1],[0,-1],[1,-2],[3,-6],[1,-1],[1,-3],[0,-1],[2,-2],[0,-1],[-1,0],[1,-2],[0,-4],[0,-2],[1,-1],[1,-1],[0,-2],[1,-2],[2,-3],[0,-2],[1,-1],[0,-2],[1,-3],[0,-2],[2,-2],[1,-1],[3,-1],[4,-2],[0,-1],[0,-1],[1,-1],[0,-2],[0,-1],[0,-1],[1,-2],[1,-2],[0,-1],[0,-1],[1,-2],[3,-2],[1,-1],[-1,-3],[1,-3],[2,-3],[0,-2],[1,0],[3,-4],[1,-2],[2,-4],[0,-1],[1,-2],[1,-1],[2,0],[1,0],[0,-2],[0,-1],[1,-2],[0,-4],[0,-2],[1,-2],[1,-1],[0,-1],[0,-2],[1,-3],[1,-2],[2,-2],[0,-1],[0,-4],[1,-2],[1,0],[2,-1],[1,-1],[1,-2],[0,-1],[5,-2],[2,-1],[1,-1],[1,0],[0,-2],[-1,-6],[0,-2],[3,-5],[1,-3],[1,-3],[3,-4],[2,-3],[3,-2],[2,-3],[0,-1],[-1,-2],[0,-1],[2,-2],[1,-2],[1,-1],[3,0],[3,0],[1,-1],[1,-1],[2,-7],[1,-3],[3,-4],[2,-1],[1,-1],[1,0],[2,0],[1,0],[4,-3],[3,-2],[1,-1],[3,-1],[0,-1],[1,-1],[0,-1],[1,-1],[0,-3],[-1,-3],[0,-1],[1,-2],[1,-2],[1,-1],[0,-4],[0,-2],[1,-1],[6,-8],[1,-1],[3,-2],[2,-2],[1,0],[2,-1],[3,-3],[0,-1],[0,-6],[1,0],[0,-1],[0,-2],[0,-1],[-1,-5],[-1,-1],[-3,-5],[0,-1],[0,-2],[0,-1],[1,-1],[7,-5],[1,-2],[1,0],[1,1],[0,1],[0,1],[-1,2],[-1,2],[3,-2],[1,-2],[0,-1],[-2,-2],[0,-1],[1,0],[2,0],[0,-1],[0,-1],[5,2],[2,1],[3,-1],[1,-2],[1,-1],[1,-1],[2,-2],[3,-3],[0,-2],[-1,-1],[-1,-1],[0,-1],[-1,-5],[-1,-3],[0,-2],[0,-1],[1,-2],[2,-3],[3,-2],[1,-1],[1,0],[1,2],[5,4],[3,0],[2,-1],[0,1],[1,0],[2,0],[1,0],[1,-1],[1,-1],[0,-4],[1,-1],[0,-1],[-1,-1],[0,-1],[1,0],[0,1],[1,1],[1,0],[0,-1],[3,-3],[2,-4],[2,-4],[2,-2],[4,-5],[4,-3],[7,-11],[0,-1],[2,-1],[1,-1],[1,-2],[1,0],[1,-2],[1,-1],[3,-1],[1,-1],[0,-2],[0,-1],[0,-1],[-1,0],[-1,2],[-1,0],[0,-3],[-1,-2],[0,-2],[1,-2],[-1,-1],[-1,-1],[-1,1],[-1,0],[-1,1],[-3,0],[0,1],[-1,1],[-2,2],[0,2],[-1,1],[-1,1],[-1,0],[0,-1],[2,-3],[1,-2],[1,-2],[3,-5],[0,-1],[-1,0],[-4,4],[-1,4],[-1,2],[-1,0],[-1,-1],[0,-2],[2,-3],[0,-2],[1,-3],[-1,1],[-2,2],[-1,3],[-5,5],[-1,0],[-1,0],[-1,-1],[0,-1],[1,-1],[4,-8],[0,-2],[1,-2],[1,-3],[0,-1],[-1,0],[-3,4],[0,1],[-1,1],[-3,3],[-3,5],[-3,5],[-1,1],[-2,2],[0,1],[-2,2],[-4,0],[-1,1],[-1,1],[-2,4],[-2,2],[0,1],[-2,1],[-3,2],[-3,3],[-1,2],[0,3],[-1,1],[0,1],[-2,1],[-1,1],[-3,4],[-2,2],[0,1],[-3,3],[-1,2],[-1,1],[0,2],[-1,1],[-3,2],[-3,3],[-2,1],[-1,4],[-3,3],[-4,3],[-1,2],[-1,2],[-1,3],[-3,3],[-1,1],[-2,0],[-2,2],[0,2],[-1,3],[-1,1],[-2,1],[0,1],[-2,2],[-2,1],[-2,1],[-1,1],[-1,0],[-1,1],[0,2],[0,1],[-3,2],[-2,3],[-2,1],[-3,5],[0,1],[-2,2],[-2,0],[-2,1],[-2,0],[1,3],[0,2],[-1,3],[-1,2],[-1,0],[-1,1],[-2,1],[-1,0],[-2,1],[0,1],[-1,1],[-1,1],[0,5],[-2,2],[-3,4],[-2,1],[-2,1],[-3,0],[-3,0],[0,1],[-2,3],[-1,1],[0,2],[-1,2],[-3,2],[0,3],[2,3],[1,2],[-2,3],[-1,3],[-1,1],[-3,2],[-1,1],[0,1],[-1,2],[-4,1],[-1,1],[1,2],[-1,1],[-2,2],[-1,0],[-1,1],[-1,0],[-1,0],[0,2],[0,1],[2,4],[0,2],[-1,1],[0,1],[-1,0],[-1,1],[-3,1],[0,4],[-2,1],[-1,1],[-2,1],[-3,0],[-2,0],[-1,0],[-1,1],[2,2],[4,3],[2,4],[1,2],[0,1],[0,1],[-1,2],[0,1],[-1,1],[-1,1],[-2,3],[-1,1],[-1,1],[-4,0],[-1,0],[0,1],[-1,1],[-6,2],[0,3],[-1,1],[1,4],[0,1],[0,1],[0,2],[-2,2],[-2,2],[-1,2],[-2,4],[-2,2],[-3,0],[-1,1],[0,2],[-1,0],[0,2],[0,1],[-1,4],[-1,0],[-2,1],[-1,1],[0,1],[-1,2],[1,1],[0,1],[1,2],[0,1],[-2,2],[-1,0],[-4,1],[-2,1],[0,1],[-1,2],[0,4],[-1,1],[-1,2],[-1,1],[-3,1],[-1,1],[0,2],[-1,1],[0,2],[1,2],[0,1],[0,3],[-4,7],[0,1],[1,2],[0,1],[-4,-2],[-1,0],[-3,2],[-1,3],[0,1],[-2,0],[-2,2],[-1,1],[1,2],[-1,1],[-1,1],[-2,2],[-2,1],[-2,0],[-1,1],[0,1],[0,1],[-2,1],[-2,2],[-2,0],[-1,0],[-2,0],[-2,-1],[-1,-1],[-3,0],[-1,0],[-2,0],[-1,0],[-1,1],[-3,5],[0,1],[3,1],[1,-2],[2,0],[3,1],[1,1],[0,1],[-1,1],[-1,1],[0,1],[0,1],[2,0],[1,0],[1,1],[1,4],[0,1],[-1,2],[0,3],[0,1],[-3,3],[-1,1],[-3,1],[-2,-2],[-3,0],[0,1],[2,0],[0,3],[1,2],[0,1],[0,1],[-1,1],[-2,1],[-1,1],[-3,1],[-2,0],[-2,0],[-1,2],[-1,0],[0,1],[-2,1],[-1,1],[-1,1],[-3,0],[-1,1],[-1,1],[-1,3],[-1,1],[-1,1],[-1,1],[0,1],[-1,4],[-3,3],[0,2],[-1,1],[-3,4],[-1,2],[-2,1],[0,1],[-3,4],[0,1],[-2,2],[0,1],[-1,1],[-1,1],[-2,2],[-1,1],[0,3],[-1,2],[-1,2],[-1,1],[-1,1],[-2,1],[-5,4],[-4,3],[-2,2],[-1,2],[0,2],[-1,1],[-1,2],[-3,2],[-3,3],[0,1],[-1,3],[0,2],[-1,2],[0,1],[-1,1],[-4,2],[-1,1],[0,1],[-1,2],[0,1],[-2,0],[-2,2],[0,1],[-1,1],[-1,1],[-2,-1],[-3,1],[-1,1],[-2,1],[0,1],[-1,1],[-2,0],[-1,0],[-2,2],[0,1],[-1,2],[-1,0],[-1,-1],[0,-3],[0,-1],[0,-1],[2,-2],[0,-3],[2,0],[1,-3],[0,-1],[-1,-2],[1,0],[2,-2],[1,-2],[0,-4],[-1,0],[0,-1],[1,0],[1,-1],[2,-3],[2,-2],[2,-1],[0,-1],[0,-2],[0,-1],[1,1],[1,0],[1,-1],[0,-2],[0,-2],[1,-1],[1,-1],[-2,-1],[1,-1],[1,0],[2,0],[0,-1],[0,-3],[2,-2],[2,0],[1,-1],[1,0],[2,-2],[0,-1],[2,-1],[0,-2],[1,-2],[0,-1],[0,-1],[0,-2],[0,-1],[0,-2],[-1,-1],[0,-1],[1,0],[0,-7],[0,-2],[1,-1],[0,-2],[1,-1],[-1,-1],[1,-2],[2,-1],[0,-1],[1,0],[1,-1],[1,-1],[1,-1],[4,-6],[0,-2],[1,-2],[2,0],[1,-1],[5,-5],[0,-1],[1,0],[1,-3],[0,-3],[1,-2],[2,-2],[0,-1],[2,-1],[1,0],[1,-1],[0,-2],[1,-1],[0,-1],[1,-3],[1,-2],[1,-4],[1,-7],[0,-8],[0,-2],[0,-3],[0,-2],[1,-1],[0,-1],[0,-11],[0,-4],[-1,-3],[-2,-3],[0,1],[-1,0],[-1,-1],[0,-1],[-1,-3],[3,2],[1,0],[1,-1],[0,-1],[3,-2],[0,-1],[2,0],[1,-2],[2,-1],[1,0],[1,-2],[2,0],[3,-2],[8,-4],[2,-3],[1,-1],[1,-1],[1,-1],[0,-2],[1,-3],[0,-3],[1,-2],[-1,-5],[0,-1],[-2,0],[-1,0],[0,-1],[1,-2],[1,1],[3,0],[0,-1],[1,-1],[1,0],[-1,-4],[1,0],[0,-2],[-1,-2],[0,-2],[1,-1],[1,-3],[1,-1],[2,-2],[1,-1],[0,-4],[0,-2],[0,-1],[0,-5],[0,-1],[0,-6],[0,-1],[1,-6],[0,-2],[1,-1],[0,-1],[-1,-1],[-1,-3],[0,-5],[-1,-2],[0,-4],[0,-5],[-1,-9],[-2,-2],[0,-4],[-1,-7],[0,-2],[-1,-5],[-1,-4],[0,-2],[-1,-2],[-1,-3],[0,-2],[0,-1],[-1,-2],[0,-4],[-2,-5],[-1,-3],[0,-2],[-2,-2],[0,-3],[-1,-2],[-1,-5],[-2,-6],[0,-5],[-2,-5],[-1,-2],[-2,-9],[-2,-5],[0,-4],[0,-2],[-3,-5],[-1,-5],[0,-2],[-2,-5],[-1,-4],[-1,-2],[-2,-4],[0,-1],[0,-1],[0,-3],[0,-1],[-2,-1],[0,-1],[-1,-3],[-1,-4],[-1,-3],[-2,-4],[0,-5],[-2,-4],[-1,-2],[-1,-3],[-1,-4],[-3,-11],[-2,-4],[-1,-6],[-2,-3],[0,-1],[0,-5],[-1,-3],[-4,-8],[-1,-2],[-1,-6],[-2,-3],[0,-1],[0,-4],[-2,-4],[-3,-6],[0,-5],[-2,-3],[-1,-3],[-1,-4],[0,-3],[-3,-5],[-2,-7],[-3,-7],[-1,-2],[0,-3],[-2,-4],[-2,-6],[-3,-8],[0,-2],[-2,-4],[-1,-4],[-3,-8],[-1,-2],[-2,-4],[0,-3],[-2,-5],[-1,-3],[0,-2],[-2,-4],[-2,-2],[0,-2],[-1,-6],[-2,-5],[-3,-6],[0,-1],[-1,-4],[0,-2],[-4,-7],[0,-1],[-2,-6],[-3,-9],[-4,-10],[-2,-3],[-1,-4],[-2,-6],[-1,-4],[-1,-2],[0,-2],[-2,-5],[-1,-2],[-1,-2],[-2,-4],[-2,-4],[-1,-3],[-1,-3],[-2,-4],[-1,-2],[-2,-2],[-2,0],[-1,0],[0,-2],[-1,-1],[-1,-1],[-1,-1],[0,-1],[-2,-1],[-2,1],[-1,1],[-2,0],[-2,1],[-1,0],[-2,-3],[0,-1],[0,-1],[-1,0],[-1,-1],[-1,-3],[-2,-1],[-1,-3],[0,-1],[0,-1],[1,0],[2,-1],[0,1],[0,1],[1,0],[1,-1],[1,0],[0,1],[1,0],[2,-1],[2,0],[1,-1],[1,-1],[1,0],[1,0],[0,1],[1,-1],[1,-1],[0,1],[2,0],[0,-1],[1,0],[1,0],[1,0],[1,0],[0,1],[1,1],[1,0],[1,1],[2,2],[0,-1],[1,-2],[1,1],[0,1],[1,0],[1,0],[2,1],[4,0],[0,-1],[3,-1],[0,-1],[0,-1],[0,-1],[1,-2],[1,0],[1,0],[3,-1],[0,1],[2,-1],[1,1],[3,0],[1,1],[0,1],[1,0],[1,-1],[1,0],[0,1],[1,0],[1,0],[1,1],[3,0],[2,0],[1,-1],[0,-2],[1,-1],[1,0],[2,1],[0,2],[1,1],[2,1],[1,0],[2,1],[1,0],[1,-1],[2,-1],[1,-1],[2,-1],[2,0],[0,-1],[0,-2],[1,-1],[1,0],[1,0],[0,2],[2,1],[0,-1],[1,0],[1,1],[2,-1],[0,-1],[2,0],[1,1],[1,0],[2,-1],[1,0],[0,1],[2,0],[2,0],[3,0],[1,-1],[2,0],[0,-1],[1,1],[3,0],[1,-1],[0,-1],[1,-1],[-1,-1],[0,-1],[1,-1],[1,-1],[3,0],[4,1],[4,-1],[3,0],[1,-1],[0,-1],[1,0],[1,1],[1,0],[1,1],[1,0],[-1,1],[-1,1],[-1,0],[-1,3],[-1,1],[-1,2],[-1,1],[0,2],[-4,-1],[-2,0],[-2,2],[-1,0],[-2,0],[-1,0],[-1,0],[-3,2],[-3,0],[-3,3],[-2,2],[-1,1],[-2,0],[-1,1],[-2,0],[-3,2],[-3,0],[-1,1],[0,4],[0,2],[0,1],[-1,2],[-1,2],[1,3],[0,2],[0,2],[1,6],[2,5],[2,6],[5,8],[1,3],[7,12],[4,5],[2,3],[2,3],[5,5],[4,3],[5,5],[7,5],[2,1],[2,3],[11,5],[16,5],[9,2],[7,1],[3,0],[3,1],[1,0],[1,0],[0,1],[1,2],[1,1],[1,1],[3,0],[1,1],[1,1],[0,1],[0,2],[0,1],[-1,1],[-2,1],[-4,0],[-1,-1],[1,0],[1,-2],[-1,-1],[-1,0],[-1,1],[-1,0],[0,1],[0,1],[-1,3],[-1,1],[-3,7],[-1,1],[-2,1],[-2,4],[-5,6],[-3,6],[-1,2],[-1,2],[-2,0],[-1,1],[-1,0],[-1,1],[-3,3],[-6,4],[-2,-1],[-1,0],[-1,0],[-1,3],[0,1],[-1,1],[-1,1],[-1,2],[0,1],[-3,1],[-1,1],[-2,1],[-1,1],[1,1],[2,-1],[1,0],[0,1],[-2,3],[-4,2],[-2,0],[-1,1],[0,1],[-1,1],[0,1],[1,1],[1,0],[3,-3],[2,-1],[2,0],[2,-3],[3,-1],[3,-4],[1,-1],[1,-2],[1,0],[2,0],[4,-3],[4,-2],[2,-3],[1,-1],[1,0],[2,4],[0,7],[1,6],[-1,1],[-2,3],[-1,2],[0,1],[-2,5],[-1,0],[-3,1],[-5,3],[-3,4],[-5,2],[0,1],[0,1],[1,0],[2,3],[1,2],[0,1],[-1,2],[-1,2],[-1,1],[0,2],[0,3],[0,1],[0,2],[1,1],[0,1],[2,1],[1,1],[1,1],[0,1],[-2,2],[0,1],[0,1],[0,1],[0,2],[0,1],[0,2],[0,1],[-1,0],[1,3],[0,1],[-1,1],[-1,1],[0,2],[0,4],[0,1],[2,0],[2,-2],[-1,-1],[-1,-1],[0,-1],[1,-1],[3,0],[0,-1],[0,-2],[0,-1],[1,-3],[0,-1],[-1,-1],[0,-1],[0,-1],[3,-3],[0,-1],[0,-3],[0,-3],[-1,-3],[0,-3],[0,-2],[-1,-1],[0,-2],[1,-2],[1,-2],[0,-2],[0,-1],[-1,-1],[-1,-2],[-1,-1],[3,-3],[0,-1],[1,0],[2,0],[1,-1],[2,0],[1,1],[2,0],[3,1],[1,0],[3,-1],[1,0],[2,1],[1,-1],[1,0],[0,3],[0,1],[1,1],[4,2],[1,1],[0,2],[0,1],[0,3],[-1,2],[0,1],[0,1],[1,2],[1,5],[2,6],[1,1],[1,0],[0,4],[0,8],[0,4],[0,1],[-2,2],[0,1],[2,4],[1,1],[1,2],[3,2],[1,1],[0,3],[1,2],[0,1],[-1,0],[-2,1],[0,1],[4,4],[1,4],[2,1],[0,1],[0,2],[-1,3],[-1,3],[1,1],[1,1],[6,2],[0,2],[1,0],[1,0],[1,1],[4,0],[1,0],[0,-1],[-4,-4],[-1,-2],[-1,-3],[0,-3],[-1,-2],[-1,-1],[-3,-2],[-1,-2],[-2,0],[-1,0],[-1,-1],[1,-2],[1,-1],[4,-2],[1,-1],[0,-2],[1,-1],[1,-4],[-1,-1],[-3,-5],[-2,-4],[-2,-7],[0,-1],[1,-2],[2,-2],[1,-1],[0,-4],[-1,-2],[0,-1],[-1,-2],[0,-1],[3,-2],[0,-1],[0,-3],[0,-1],[-2,-3],[0,-1],[1,-1],[0,-4],[1,-1],[6,-4],[3,-1],[1,2],[1,0],[2,1],[0,1],[2,4],[0,1],[1,3],[5,8],[1,6],[0,4],[0,1],[-1,3],[0,1],[1,2],[1,1],[1,-3],[0,-2],[1,-1],[0,-1],[0,-1],[0,-2],[0,-1],[1,-1],[4,-2],[2,-2],[2,-1],[3,-2],[0,-1],[-5,-2],[-3,-2],[-2,-3],[-1,-1],[0,-2],[0,-2],[1,-1],[3,-1],[0,-1],[-1,-2],[-2,-1],[-2,-2],[-1,0],[0,-1],[1,-3],[0,-1],[-1,-2],[-1,0],[-3,0],[-1,0],[-2,-4],[-9,-5],[-1,-2],[-2,-1],[-2,0],[-1,-2],[-2,-1],[-1,0],[-2,-4],[-1,-4],[0,-2],[-2,-7],[-1,-3],[-2,-2],[-1,-5],[0,-1],[1,-2],[1,-2],[3,-3],[1,-1],[2,0],[1,-1],[4,-4],[0,-1],[-2,-6],[-1,-2],[0,-1],[1,-2],[0,-5],[2,-2],[1,-1],[1,0],[1,0],[1,0],[2,0],[3,0],[1,2],[1,0],[4,-4],[1,-2],[0,-1],[1,-1],[1,-1],[7,0],[3,0],[0,1],[1,1],[1,3],[0,6],[1,1],[0,1],[2,-9],[0,-1],[1,-1],[1,0],[1,-1],[1,0],[2,0],[1,0],[1,2],[1,1],[1,4],[0,3],[0,3],[-1,2],[0,3],[-1,1],[1,1],[1,2],[0,1],[0,3],[3,3],[0,2],[3,4],[0,1],[0,3],[0,5],[0,1],[0,2],[0,1],[0,2],[1,2],[0,4],[1,0],[1,0],[0,-2],[1,-2],[1,-2],[6,-6],[0,-2],[0,-1],[-2,-1],[0,-1],[0,-1],[-2,-3],[1,-1],[1,-1],[3,-1],[1,-1],[0,-1],[1,-2],[0,-2],[-4,-4],[0,-1],[0,-3],[0,-1],[-1,-1],[-1,-5],[-2,-3],[-2,-3],[0,-1],[1,-2],[0,-1],[1,-1],[2,-2],[3,0],[3,-1],[6,-2],[9,-1],[2,1],[2,1],[1,1],[2,2],[2,2],[5,1],[1,-3],[0,-2],[1,-3],[1,-1],[2,0],[0,-1],[1,-1],[2,-2],[1,-5],[-1,0],[-1,1],[0,2],[-1,1],[-1,1],[-4,-1],[-2,0],[-4,2],[-4,0],[-2,-1],[-1,0],[0,1],[-3,0],[-3,0],[-2,0],[-2,0],[-2,-2],[-2,0],[-2,0],[-5,0],[-2,2],[-1,1],[-3,1],[-2,0],[-1,-1],[-1,-2],[-1,0],[-2,-1],[-1,1],[-1,0],[-1,1],[-1,0],[-3,1],[-1,0],[-1,-1],[-1,0],[-2,-1],[-6,0],[-1,1],[0,-1],[0,-1],[-1,0],[-4,0],[-3,1],[-3,0],[-2,1],[-7,8],[-4,4],[-1,0],[-1,0],[0,-2],[2,-6],[2,-3],[2,-2],[2,-2],[1,0],[3,-1],[3,0],[3,1],[2,0],[6,-1],[2,-1],[6,1],[15,-1],[17,-1],[7,-1],[9,-1],[2,0],[13,-3],[9,-2],[5,-1],[2,-1],[10,-4],[4,-2],[12,-5],[3,-1],[6,-3],[7,-3],[4,-2],[4,-2],[5,-2],[4,-3],[4,-3],[6,-4],[3,-2],[2,-3],[6,-4],[4,-3],[2,-1],[1,0],[1,-2],[1,0],[2,-1],[3,-2],[0,-1],[2,-2],[1,-1],[2,0],[2,-1],[1,-2],[1,0],[3,-3],[2,-2],[2,-1],[4,-3],[3,-3],[3,-3],[3,-4],[1,-1],[1,-2],[0,-1],[0,-2],[3,1],[1,0],[1,1],[1,0],[3,-2],[2,-2],[4,-3],[2,-1],[3,-6],[2,-2],[1,-4],[0,-2],[1,0],[3,-5],[1,-1],[0,-2],[2,-1],[2,-5],[1,-1],[1,-1],[1,-1],[1,-2],[0,-2],[1,-1],[4,2],[1,1],[3,-2],[2,-2],[2,-2],[2,-2],[4,-3],[1,-2],[4,-2],[2,-2],[3,-4],[2,-2],[1,-2],[3,-3],[1,-3],[3,-4],[2,-4],[3,-5],[3,-6],[1,-1],[3,-9],[5,-13],[5,-9],[2,-7],[0,-2],[1,-3],[1,-2],[1,-1],[0,-5],[1,-5],[0,-2],[-1,-2],[0,-3],[1,-2],[0,-1],[1,0],[2,-1],[4,2],[2,0],[4,-1],[0,-1],[1,-1],[2,-2],[1,-4],[0,-1],[-1,-2],[-1,-2],[0,-1],[1,0],[1,-1],[1,1],[2,2],[1,0],[3,0],[3,0],[2,-1],[1,-1],[1,-2],[1,-1],[2,-3],[1,0],[0,-1],[1,-2],[1,-2],[1,-3],[1,-3],[1,-1],[2,-1],[4,-2],[2,0],[2,0],[2,-1],[3,-1],[3,-1],[6,0],[2,-1],[2,-2],[2,-1],[1,-2],[1,-1],[2,-3],[1,-1],[2,-1],[1,-2],[2,-1],[2,-1],[2,0],[1,0],[0,-1],[1,0],[2,-1],[3,-2],[3,-2],[3,-2],[1,-1],[4,-3],[3,-2],[2,-1],[-8,-9],[-3,-3],[8,-16],[7,-20],[1,-7],[2,-13],[6,-13],[9,-5],[12,-5],[11,-1],[3,14],[2,-1],[1,1],[2,-1],[1,-1],[1,-1],[1,0],[1,-1],[0,-1],[1,-1],[0,-2],[1,-1],[1,-1],[0,-1],[3,-3],[5,-4],[6,-3],[5,-1],[3,1],[2,1],[0,1],[1,0],[0,3],[0,1],[0,1],[0,1],[2,3],[1,1],[3,3],[2,1],[1,0],[1,1],[3,3],[2,2],[2,1],[3,1],[2,1],[4,3],[2,2],[1,1],[2,0],[1,1],[4,2],[2,1],[1,0],[1,2],[1,0],[0,1],[0,1],[0,2],[0,1],[0,1],[0,1],[1,1],[0,1],[0,2],[0,1],[0,1],[-1,0],[-1,0],[-1,1],[-2,0],[-1,0],[0,1],[0,1],[-1,2],[-1,1],[-1,1],[0,1],[-1,1],[-1,1],[-1,2],[-1,3],[-1,1],[0,1],[0,1],[0,1],[0,1],[0,4],[0,2],[1,1],[0,1],[-2,2],[0,1],[0,1],[1,1],[0,2],[1,1],[-1,0],[0,1],[-1,0],[-1,0],[0,-1],[-1,0],[-1,0],[0,1],[0,1],[0,1],[0,1],[-1,1],[-1,-1],[-1,-1],[-1,0],[-1,0],[-1,0],[-2,2],[-1,1],[-1,2],[-1,2],[0,1],[-1,2],[-2,6],[1,1],[-1,2],[-1,5],[-1,0],[-1,0],[0,1],[-2,2],[0,2],[-1,2],[0,1],[0,1],[1,1],[0,1],[1,0],[1,0],[1,0],[1,0],[0,-1],[1,0],[1,-1],[1,-1],[1,0],[1,0],[2,0],[1,0],[1,0],[2,-1],[0,-1],[1,0],[1,0],[1,0],[1,0],[0,-1],[2,0],[0,-1],[0,-1],[-1,0],[0,-1],[-1,-1],[1,-1],[1,0],[2,-1],[1,0],[1,0],[1,0],[1,0],[2,0],[1,0],[1,0],[1,0],[1,-1],[1,0],[1,0],[0,-1],[1,0],[0,-1],[0,-1],[0,-1],[0,-1],[-1,-1],[1,0],[0,-1],[1,-1],[1,-1],[0,-1],[1,-1],[1,0],[0,-1],[0,-1],[1,-1],[1,-1],[1,0],[1,0],[1,0],[1,0],[1,0],[1,0],[1,0],[1,-1],[1,0],[1,-1],[0,-1],[1,-2],[1,-2],[0,-1],[1,-1],[1,-1],[1,-1],[1,-1],[1,-1],[1,0],[0,-1],[0,-1],[0,-1],[0,-1],[1,-1],[1,-1],[0,-1],[1,0],[2,-1],[1,-1],[1,0],[1,-1],[1,0],[1,1],[3,-2],[3,-4],[2,-1],[0,-2],[0,-1],[1,-3],[1,-1],[1,-1],[1,0],[1,-2],[1,0],[1,-1],[2,-2],[1,0],[2,-1],[2,0],[0,-1],[1,-1],[0,-1],[1,-1],[2,0],[1,0],[1,0],[1,0],[1,-2],[1,-1],[1,0],[1,-1],[1,0],[1,-2],[2,-2],[1,-1],[1,-1],[1,1],[1,0],[1,-1],[1,0],[1,-1],[1,-1],[1,-3],[0,-1],[1,-1],[1,-1],[1,-1],[1,-1],[1,0],[0,-1],[0,-1],[-1,0],[-3,2],[-2,1],[-1,0],[-1,1],[-2,1],[0,1],[0,1],[2,0],[1,2],[-1,1],[-1,0],[0,-1],[-1,-1],[-1,-1],[-1,-1],[-1,0],[-3,2],[-3,2],[-4,1],[-2,2],[-4,1],[-4,1],[-2,1],[-4,1],[-6,1],[-3,1],[-1,0],[-1,0],[-1,0],[-4,0],[-4,1],[-4,-2],[-4,-2],[-4,-1],[0,1],[-3,1],[-3,2],[-3,1],[-2,0],[0,-1],[0,-1],[1,-2],[2,-2],[3,-2],[3,-1],[5,-1],[5,0],[2,-1],[5,1],[2,0],[3,-1],[6,1],[3,0],[2,0],[2,-1],[3,-1],[3,-1],[4,-1],[3,-1],[2,-1],[2,-1],[2,-1],[2,-1],[1,-1],[5,-1],[1,-1],[1,-1],[1,0],[1,0],[0,-1],[1,-1],[2,-1],[1,0],[1,-1],[1,0],[1,-1],[2,-1],[1,-1],[0,-1],[1,0],[1,-1],[2,-1],[1,-1],[2,-1],[3,-2],[1,-2],[1,-1],[1,-1],[3,-2],[2,-3],[1,-1],[1,-1],[3,-3],[1,-1],[1,-1],[0,-1],[0,-1],[1,0],[0,-1],[1,0],[0,-1],[1,-1],[1,0],[0,-1],[0,-1],[0,-1],[0,-1],[1,-1],[1,-2],[1,-1],[1,-1],[2,-2],[1,-1],[1,-1],[1,0],[1,-1],[1,-1],[0,-3],[-3,-2],[-1,-1],[0,-1],[0,-2],[0,-1],[-1,-1],[0,-1],[1,-1],[1,-1],[1,0],[1,-1],[1,-1],[1,-1],[1,0],[1,0],[0,1],[1,0],[1,-1],[0,1],[1,0],[1,0],[2,-1],[1,-1],[1,-2],[1,0],[1,-1],[1,0],[0,-1],[-1,-2],[1,0],[2,-2],[2,-1],[3,-1],[1,1],[1,0],[2,0],[2,1],[2,1],[1,1],[2,0],[1,-1],[0,-1],[1,0],[1,0],[1,0],[1,0],[3,-2],[2,0],[3,-1],[3,-1],[1,-1],[1,-1],[1,0],[2,-1],[3,2],[3,-2],[6,-7],[5,-6],[7,-10],[8,-9],[0,-1],[4,-7],[0,-2],[8,-4],[1,-3],[5,-3],[1,-2],[1,0],[3,5],[2,0],[2,1],[7,-2],[4,-9],[9,-5],[-1,-3],[6,-1],[3,2],[11,-6],[-1,-2],[2,-4],[0,-2],[2,-2],[0,-2],[4,0],[-2,-7],[2,-2],[6,-2],[2,-2],[-1,-5],[3,-1],[2,1],[1,-3],[2,1],[1,-2],[1,-3],[4,-12],[0,-6],[21,-8],[6,-4],[8,-15],[-4,-5],[10,-10],[3,-16],[2,-1],[2,0],[2,-1],[0,3],[-2,5],[-2,5],[5,6],[3,0],[0,2],[1,2],[2,0],[0,2],[1,3],[1,3],[10,1],[2,0],[2,0],[2,-2],[1,2],[10,-3],[2,1],[13,-5],[0,-3],[2,-1],[1,-2],[2,0],[1,-1],[3,3],[0,-2],[4,-4],[2,1],[-2,5],[2,2],[6,0],[2,0],[1,1],[1,2],[2,1],[1,3],[2,1],[1,1],[1,1],[1,3],[11,-1],[6,1],[2,-3],[3,1],[1,0],[4,-2],[1,0],[0,1],[2,0],[-2,8],[1,7],[2,3],[2,0],[-1,3],[-2,3],[9,2],[1,-5],[3,0],[1,5],[1,5],[0,5],[-8,15],[-2,3],[2,1],[-1,2],[-3,2],[-1,2],[0,1],[-1,6],[-3,0],[0,1],[0,3],[0,5],[0,4],[5,15],[-1,4],[1,2],[0,1],[2,0],[-1,2],[-2,1],[-4,-2],[-1,-1],[-2,0],[-6,4],[1,1],[-1,0],[-1,1],[-2,-2],[-1,1],[-2,2],[0,1],[0,1],[-1,2],[-2,1],[-1,-1],[-2,1],[1,1],[-1,0],[-2,0],[-1,0],[-2,-1],[1,1],[0,2],[2,1],[0,2],[-3,0],[-3,0],[-3,-1],[-6,5],[-5,6],[0,4],[1,4],[-2,-1],[-3,3],[-2,1],[-1,0],[-1,1],[-2,0],[-1,-1],[-1,1],[-1,0],[-1,2],[-3,2],[0,1],[0,1],[0,1],[0,1],[-1,0],[0,1],[-1,0],[0,1],[-1,0],[0,1],[0,-1],[-1,0],[1,0],[0,-1],[1,0],[0,-1],[0,-1],[0,-1],[-1,0],[-1,1],[0,1],[-1,1],[-1,0],[-1,2],[-3,2],[-1,1],[-2,2],[-3,2],[-2,5],[-1,1],[0,1],[-3,6],[-6,3],[-3,0],[-1,1],[-2,3],[-2,0],[-1,2],[-5,9],[2,11],[-6,1],[0,2],[0,1],[3,-1],[-3,8],[0,6],[3,-4],[1,-4],[0,-2],[2,-2],[1,-1],[-1,-1],[6,-7],[0,1],[1,1],[-2,2],[4,5],[1,-1],[0,-5],[-2,-4],[-1,1],[-1,-1],[3,-6],[3,-4],[1,-1],[1,0],[2,-1],[7,9],[5,-2],[2,-5],[-4,-4],[0,-1],[-1,-1],[5,-5],[3,3],[8,-2],[2,-3],[1,-1],[-1,-3],[4,-2],[10,-8],[1,0],[1,-1],[0,6],[-2,4],[-1,4],[0,3],[0,3],[0,4],[0,5],[-2,5],[-2,4],[-2,5],[-3,1],[-1,0],[-1,-2],[2,-3],[2,-1],[1,-3],[2,-3],[0,-6],[1,-2],[0,-2],[0,-1],[-2,0],[-1,1],[-2,1],[0,1],[0,1],[2,5],[-2,4],[-5,5],[0,2],[-1,2],[2,5],[-2,6],[2,3],[-1,-6],[5,10],[-1,2],[0,1],[1,0],[3,0],[3,-4],[0,-3],[-1,-1],[-3,6],[-2,2],[4,-10],[1,-1],[1,0],[13,-2],[14,3],[7,-9],[7,-5],[4,-3],[3,-2],[1,-1],[8,-10],[3,-4],[1,-1],[3,-7],[-3,-4],[-3,-7],[2,-7],[0,-3],[7,-14],[1,-3],[1,0],[12,-11],[1,-1],[10,-7],[2,-1],[0,8],[0,1],[-5,5],[-5,6],[-1,11],[8,5],[0,-2],[2,-3],[1,-1],[1,-1],[1,-1],[1,0],[2,0],[-1,1],[0,1],[-1,2],[2,1],[1,1],[2,-1],[3,-1],[1,-3],[1,3],[3,-2],[3,1],[2,4],[1,3],[5,3],[4,1],[3,2],[0,3],[-2,5],[2,3],[5,4],[6,-3],[1,7],[-1,2],[-2,0],[-3,5],[-1,1],[-2,-1],[-3,5],[-2,0],[-1,6],[-5,9],[-6,10],[-7,-2],[-1,2],[-7,-2],[-5,1],[-4,3],[-1,1],[-1,1],[0,1],[-1,0],[-2,4],[-9,1],[-1,1],[-5,6],[0,1],[0,3],[0,3],[-3,-1],[2,3],[-4,-4],[-1,1],[-1,1],[-1,2],[-1,2],[-3,2],[-2,2],[-2,1],[-3,3],[0,4],[0,1],[0,4],[4,-2],[6,0],[-7,3],[-1,2],[-3,8],[5,-9],[1,0],[0,1],[-1,7],[4,-9],[1,1],[-3,11],[-1,7],[-1,-1],[-1,0],[1,-4],[-2,4],[-1,0],[-1,-1],[1,-4],[-2,4],[-1,-1],[1,-5],[-2,5],[-1,4],[9,2],[-1,3],[-10,-4],[-4,5],[-2,1],[-2,3],[-1,1],[-1,0],[-1,1],[-1,1],[-1,1],[-2,1],[-1,3],[-1,-1],[-5,-1],[-14,2],[-5,7],[-1,-3],[-3,8],[-2,1],[-1,0],[-7,10],[0,9],[-1,0],[-3,26],[5,5],[0,1],[1,0],[2,1],[6,-3],[3,-6],[10,-4],[0,3],[3,-4],[6,-2],[1,-1],[2,3],[3,6],[4,3],[4,-1],[1,0],[1,4],[6,1],[3,1],[3,0],[2,0],[-2,1],[-2,0],[-2,3],[-1,2],[-1,1],[7,2],[8,2],[0,-1],[1,1],[-1,2],[-1,0],[1,-1],[-8,-3],[-7,-2],[-1,2],[-4,3],[-1,1],[-2,-1],[-1,1],[-2,-1],[-1,1],[-1,1],[-2,1],[0,2],[-1,2],[0,3],[-1,3],[-1,5],[-2,10],[-4,7],[-3,9],[3,1],[0,11],[0,1],[0,2],[-4,2],[-8,4],[1,8],[-4,2],[-4,-2],[-2,-1],[-1,-1],[-1,-3],[0,2],[-1,-1],[-2,-1],[-3,-1],[-3,-1],[-5,-3],[-3,-1],[-2,0],[-2,1],[2,0],[0,1],[-1,1],[0,2],[5,0],[0,-2],[-1,-2],[2,2],[1,1],[0,1],[1,-1],[0,1],[3,1],[4,2],[0,1],[1,0],[2,0],[0,1],[4,2],[6,3],[1,0],[1,0],[1,0],[0,-1],[1,-1],[0,-1],[4,-2],[5,2],[9,1],[1,0],[5,0],[1,2],[1,1],[7,0],[5,1],[3,0],[-1,4],[0,1],[-1,0],[-2,0],[-3,3],[-1,0],[-1,0],[-1,0],[0,1],[0,1],[1,0],[2,-1],[1,0],[4,-2],[3,2],[1,0],[0,1],[1,0],[1,0],[0,-1],[1,0],[-1,3],[-1,2],[2,5],[-1,3],[7,12],[11,6],[2,-2],[23,-16],[22,20],[-2,10],[-2,4],[-5,9],[-2,-1],[-9,13],[0,1],[-1,1],[-10,8],[0,1],[-1,2],[-2,6],[-1,3],[-1,-1],[-2,-2],[-5,6],[-6,-3],[-7,5],[-6,5],[-9,0],[-9,6],[-17,18],[-9,2],[-7,2],[-11,1],[-2,0],[-2,1],[0,1],[2,1],[2,1],[4,2],[3,12],[-4,19],[0,6],[-2,2],[1,1],[2,3],[-2,5],[3,0],[5,20],[6,24],[2,1],[3,1],[-3,7],[-3,-2],[-1,1],[1,3],[1,0],[2,-1],[1,13],[1,5],[2,7],[1,0],[2,0],[0,2],[5,15],[4,9],[2,4],[4,11],[-8,62],[-3,5],[-6,2],[0,1],[2,2],[0,5],[1,2],[-1,2],[0,6],[0,1],[2,10],[0,5],[0,1],[-13,12],[-1,0],[-8,3],[-2,1],[-3,1],[-3,1],[3,3],[1,-1],[1,-1],[3,-1],[2,0],[3,-1],[3,0],[2,0],[3,-1],[2,-1],[2,-1],[1,7],[4,2],[4,1],[4,2],[4,2],[4,1],[3,1],[3,1],[2,0],[5,1],[3,1],[6,1],[5,1],[6,0],[4,1],[2,0],[3,1],[2,0],[3,1],[2,0],[3,1],[4,1],[2,1],[2,1],[1,1],[2,1],[1,1],[1,0],[1,0],[0,1],[1,0],[1,-1],[1,0],[0,-1],[1,-1],[0,-1],[1,0],[1,0],[0,-1],[-1,0],[0,-1],[0,-1],[0,-1],[1,-1],[0,-1],[0,-1],[0,-1],[0,1],[1,0],[0,1],[1,0],[1,0],[1,0],[1,1],[1,0],[1,0],[0,-1],[1,0],[1,0],[0,-1],[1,0],[1,0],[1,0],[0,-1],[1,0],[1,0],[1,0],[1,-1],[1,0],[1,0],[1,1],[1,1],[1,1],[1,0],[0,1],[1,0],[1,0],[1,1],[1,0],[1,0],[0,1],[0,1],[1,0],[1,1],[0,1],[0,1],[1,0],[0,1],[0,1],[1,1],[1,0],[1,0],[1,0],[1,1],[0,1],[1,0],[1,0],[1,1],[0,-1],[1,0],[1,1],[1,0],[0,1],[0,1],[1,0],[1,0],[0,1],[1,0],[0,1],[1,0],[0,1],[1,0],[0,1],[1,0],[1,0],[0,1],[1,0],[0,1],[1,0],[0,1],[0,1],[1,0],[0,1],[0,1],[0,2],[2,0],[1,0],[1,1],[1,0],[1,0],[1,1],[1,0],[1,0],[0,1],[1,0],[0,1],[1,1],[1,0],[1,0],[1,1],[1,0],[0,1],[0,1],[1,1],[0,1],[1,0],[0,2],[0,1],[1,-1],[1,1],[0,1],[1,-1],[1,0],[1,2],[1,1],[2,2],[1,0],[2,2],[1,1],[1,1],[1,1],[0,1],[1,0],[1,1],[1,1],[1,1],[2,1],[0,1],[1,1],[1,1],[1,1],[1,0],[0,1],[1,1],[1,0],[0,1],[1,1],[0,1],[0,1],[0,1],[1,0],[0,1],[1,1],[0,1],[1,1],[1,0],[0,1],[1,1],[0,2],[1,0],[1,3],[0,2],[1,3],[1,1],[0,2],[0,2],[1,1],[0,1],[1,2],[0,1],[0,1],[1,0],[0,1],[0,1],[0,1],[0,2],[-2,2],[1,1],[0,1],[-1,1],[0,1],[0,1],[-1,2],[-1,0],[0,1],[0,1],[-2,2],[-1,4],[-1,4],[0,2],[0,5],[0,2],[3,3],[0,-1],[0,-9],[2,0],[6,-10],[115,-52],[15,-10],[33,-24],[49,-36],[7,-9],[16,-16],[-2,-3],[15,-16],[18,-33],[9,-11],[4,-8],[3,-5],[9,-6],[9,-10],[7,-11],[1,-10],[-3,-3],[0,-2],[2,0],[26,5],[6,12],[6,0],[4,-7],[9,19],[2,-2],[1,-1],[-4,6],[-17,30],[-13,17],[-4,5],[-13,19],[-2,4],[-3,3],[-6,10],[-7,12],[-1,0],[-3,5],[1,0],[-1,0],[-3,6],[9,0],[-12,19],[-4,-2],[4,2],[12,7],[-1,-11],[6,1],[-3,-3],[7,-13],[0,-4],[0,-1],[-5,-2],[0,-1],[1,-1],[5,3],[1,0],[5,-2],[5,-18],[11,-19],[5,-4],[23,-31],[4,2],[2,-9],[0,-9],[2,2],[2,-6],[-2,-1],[1,-4],[5,0],[0,-1],[4,-3],[2,-1],[0,-1],[5,-8],[-2,-3],[0,-1],[1,-2],[-1,-1],[-3,-2],[3,2],[1,1],[3,-3],[7,-8],[6,-3],[4,-3],[1,-3],[1,-2],[5,-2],[4,-1],[1,-1],[11,1],[2,1],[12,2],[2,3],[0,1],[3,2],[1,-4],[0,-1],[-1,-1],[1,0],[6,-1],[2,3],[2,1],[2,2],[4,-1],[1,-2],[1,-2],[2,-2],[1,-4],[4,1],[0,-5],[2,-4],[9,-4],[3,0],[3,-1],[2,4],[6,28],[6,2],[6,-7],[6,-8],[0,-3],[3,-4],[1,0],[4,-5],[0,-1],[1,0],[5,-1],[0,-2],[1,1],[3,-2],[0,-2],[1,-3],[-2,-1],[1,-3],[3,-1],[1,0],[0,-1],[1,-2],[4,-1],[2,0],[3,-2],[-2,-2],[0,-1],[2,-1],[4,-2],[2,2],[6,-2],[1,-3],[-1,-3],[0,-1],[2,-2],[3,-2],[0,-2],[1,-1],[1,-3],[-1,-3],[-1,-2],[-1,-4],[0,-2],[-8,0],[0,-2],[6,-1],[4,-2],[2,1],[2,-1],[2,1],[2,0],[0,1],[0,1],[0,1],[-1,1],[0,1],[0,1],[0,1],[1,2],[1,-1],[2,0],[1,2],[9,-5],[0,-2],[-1,-1],[-1,-1],[-1,-1],[-2,0],[-2,0],[-3,0],[0,-1],[9,-1],[13,-1],[14,0],[10,2],[1,0],[2,0],[11,4],[1,0],[2,3],[4,7],[6,21],[1,6],[5,8],[7,13],[39,49],[24,26],[20,22],[8,8],[12,14],[3,4],[1,0],[4,3],[3,4],[2,3],[3,3],[1,4],[2,7],[0,4],[0,1],[-1,0],[0,1],[1,0],[1,3],[0,8],[0,4],[3,6],[-1,11],[0,1],[3,0],[1,2],[2,2],[0,3],[0,1],[0,1],[1,0],[1,1],[-1,1],[0,1],[1,1],[-1,0],[0,1],[1,1],[0,1],[0,2],[0,1],[0,1],[0,1],[0,1],[0,1],[-1,1],[0,1],[0,1],[0,1],[0,1],[0,1],[-1,1],[0,1],[9,6],[2,-2],[2,-2],[1,-2],[1,0],[2,-1],[1,0],[1,0],[1,0],[2,0],[1,1],[1,1],[3,0],[2,1],[1,0],[2,0],[1,0],[1,0],[0,-1],[3,0],[2,-1],[2,-1],[2,-1],[1,-1],[1,0],[1,0],[0,1],[1,0],[0,1],[-1,2],[0,1],[1,1],[0,1],[2,1],[5,1],[3,0],[1,0],[1,0],[2,0],[1,0],[3,-1],[2,-1],[2,0],[2,0],[1,0],[2,1],[2,1],[2,1],[2,0],[1,0],[1,0],[2,-1],[2,0],[3,-1],[1,-1],[2,-1],[1,-1],[2,1],[2,0],[1,0],[1,-1],[2,0],[2,-1],[1,1],[2,0],[2,0],[1,0],[1,0],[10,3],[4,0],[3,1],[3,0],[4,3],[2,1],[1,1],[4,0],[2,-2],[5,-5],[2,-2],[1,-3],[2,-2],[6,-8],[3,-3],[4,-5],[2,-5],[0,-1],[1,-2],[1,-2],[1,-3],[1,-3],[1,-3],[1,-2],[1,-1],[5,-16],[1,-1],[0,-1],[-1,-1],[0,-1],[-1,0],[-1,-1],[0,-1],[-1,0],[-1,-1],[-1,0],[-1,0],[-1,0],[-1,0],[-1,-1],[1,0],[0,-1],[-1,0],[0,1],[-1,0],[-1,-1],[-1,0],[-1,0],[0,-1],[-1,-1],[-1,0],[-1,-1],[-1,0],[0,-1],[-1,-1],[0,-1],[-1,0],[-1,0],[-1,-1],[0,-1],[-1,0],[1,-1],[1,0],[1,-1],[1,0],[1,0],[1,-1],[-1,-1],[0,-1],[0,-1],[1,0],[0,-1],[-1,0],[0,-1],[-1,0],[-1,-1],[0,-1],[-1,0],[-1,-1],[-1,0],[-1,0],[0,-1],[1,-1],[-1,0],[0,2],[-2,0],[-2,0],[-3,-1],[-2,0],[-2,0],[-1,1],[-1,0],[0,-2],[-1,-2],[-2,0],[-5,-1],[-4,0],[-3,2],[-3,0],[3,-2],[-2,0],[-2,-1],[-2,0],[-1,-2],[-3,0],[-1,-2],[-2,-1],[-2,-1],[0,1],[-1,1],[-2,-1],[-1,0],[-1,-1],[-2,-1],[-2,-2],[1,-2],[1,-2],[1,-2],[2,-4],[-1,-2],[-1,-2],[4,-3],[3,-2],[2,-2],[1,-2],[1,-1],[2,-1],[2,-1],[0,-1],[0,-1],[1,0],[1,0],[1,0],[1,-2],[1,0],[1,0],[1,-2],[3,0],[1,-1],[2,-1],[3,-2],[2,0],[17,-9],[1,-1],[1,0],[0,-1],[1,0],[0,1],[1,0],[1,1],[1,0],[1,1],[1,0],[3,-1],[2,0],[2,-1],[2,0],[1,-1],[2,0],[1,-1],[2,-3],[1,-1],[0,-1],[1,0],[1,-1],[0,-1],[0,-1],[0,-1],[1,-1],[0,-1],[-1,0],[0,-1],[1,-1],[0,-2],[1,-1],[0,-1],[2,-1],[1,-1],[1,-1],[1,0],[1,1],[1,0],[0,1],[1,0],[0,1],[0,1],[0,1],[0,1],[0,1],[-1,0],[-1,-1],[-1,0],[0,-1],[-1,0],[-1,0],[-1,0],[-1,0],[-1,0],[0,1],[0,1],[0,-1],[1,0],[1,0],[1,0],[1,0],[1,0],[1,1],[1,0],[1,1],[1,0],[1,0]]]}
\ No newline at end of file
diff --git a/views/ngXosViews/ecordTopology/src/js/main.js b/views/ngXosViews/ecordTopology/src/js/main.js
new file mode 100644
index 0000000..8d6a362
--- /dev/null
+++ b/views/ngXosViews/ecordTopology/src/js/main.js
@@ -0,0 +1,55 @@
+'use strict';
+
+angular.module('xos.ecordTopology', [
+ 'ngResource',
+ 'ngCookies',
+ 'ui.router',
+ 'xos.helpers',
+ 'ui.checkbox'
+])
+.config(($stateProvider) => {
+ $stateProvider
+ .state('ecord-topo', {
+ url: '/',
+ template: '<ecord-topo></ecord-topo>'
+ })
+ .state('eline-create', {
+ url: '/eline',
+ template: '<eline-form></eline-form>'
+ })
+ .state('eline-details', {
+ url: '/eline/:id',
+ template: '<eline-details></eline-details>'
+ });
+})
+.config(function($httpProvider){
+ $httpProvider.interceptors.push('NoHyperlinks');
+})
+.constant('cordIcons', {
+ cordLogo: `M92.5,62.3l-33,33,2.5,2.5c4.1,4.1,7.4,3.6,11.2-.1L95.9,75l-4.5-4.5,4.7-4.7-3.6-3.6Zm2.6,7L98.4,66l3.3,3.3-3.3,3.3-3.3-3.3ZM94.5,60l4.9-4.9,4.9,4.9-4.9,4.9ZM36.2,36.1L18.6,53.8c-7.8,7.8-5.8,17.4-2.4,22l-2.2-2.2c-10.6-10.6-11.2-20,0-31.2L28.2,28.1L31.3,25l8,8-3.1,3.1ZM55.5,55.4l3.6-3.6L66.9,44l-8-8l-2.5,2.5-5.2,5.2l-3.6,3.6L33.2,61.6C22,72.7,22.5,82.2,33.2,92.8L35.4,95c-3.4-4.5-5.4-14.1,2.4-22L55.5,55.4ZM50.7,21.7l-8-8L35,21.2l8,8,7.6-7.6ZM62.8,9.6L55.4,17l-8-8,7.4-7.4,8,8Zm0.7,18.3-7.6,7.6-8-8,7.6-7.6,8,8Zm26.1-6.6-8.1,8.1-8-8,8.1-8.1,8,8ZM79.3,31.5l-7.4,7.4-8-8,7.4-7.4,8,8ZM45.7,45.6L54.3,37l-8-8-8.6,8.6L23.4,51.8C12.2,63,12.8,72.4,23.4,83l2.2,2.2c-3.4-4.5-5.4-14.1,2.4-22ZM34.9,80.7l20.6,20.5c2,2,4.6,4.1,7.9,3.2-2.9,2.9-8.9,1.7-11.9-1.3L35.1,86.8,35,86.6H34.9l-0.8-.8a15,15,0,0,1,.1-1.9,14.7,14.7,0,0,1,.7-3.2Zm-0.6,7.4a21.3,21.3,0,0,0,5.9,11.7l5.7,5.7c3,3,9,4.1,11.9,1.3-3.3.9-5.9-1.2-7.9-3.2L34.3,88.1Zm3.5-12.4a16.6,16.6,0,0,0-2.3,3.6L57,100.8c3,3,9,4.1,11.9,1.3-3.3.9-5.9-1.2-7.9-3.2Z`,
+ service: `M2.16,10.77l2.7-.44a0.36,0.36,0,0,0,.21-0.2c0.24-.55.47-1.1,0.69-1.65a0.42,0.42,0,0,0,0-.33c-0.5-.74-1-1.47-1.52-2.18L5.94,4.22,8.07,5.75a0.37,0.37,0,0,0,.44,0C9,5.55,9.52,5.36,10,5.16a0.36,0.36,0,0,0,.27-0.32c0.13-.87.28-1.74,0.42-2.64l0.23,0c0.66,0,1.32,0,2,0a0.25,0.25,0,0,1,.3.26c0.13,0.81.28,1.62,0.41,2.44a0.34,0.34,0,0,0,.26.3c0.52,0.2,1,.41,1.54.64a0.34,0.34,0,0,0,.4,0l1.93-1.4L18,4.22,19.76,6c-0.49.7-1,1.43-1.52,2.16a0.4,0.4,0,0,0,0,.47c0.23,0.49.43,1,.62,1.49a0.36,0.36,0,0,0,.32.27l2.66,0.43v2.45l-1.63.29c-0.36.06-.72,0.11-1.07,0.19a0.43,0.43,0,0,0-.26.22c-0.23.53-.43,1.07-0.67,1.6a0.31,0.31,0,0,0,0,.37l1.4,1.94,0.17,0.24-1.74,1.74c-0.69-.48-1.41-1-2.13-1.5a0.43,0.43,0,0,0-.52,0,13.34,13.34,0,0,1-1.43.6,0.4,0.4,0,0,0-.32.35c-0.14.86-.3,1.72-0.46,2.59H10.73c-0.14-.85-0.29-1.7-0.42-2.55A0.43,0.43,0,0,0,10,18.88c-0.5-.18-1-0.39-1.46-0.61a0.36,0.36,0,0,0-.42,0c-0.73.52-1.46,1-2.17,1.52L4.16,18.08l0.37-.52c0.39-.55.78-1.1,1.19-1.65a0.31,0.31,0,0,0,0-.37C5.52,15,5.3,14.5,5.09,14A0.34,0.34,0,0,0,4.8,13.7l-2.64-.46V10.77ZM15.43,12A3.45,3.45,0,1,0,12,15.48,3.46,3.46,0,0,0,15.43,12Z`
+})
+.directive('ecordTopo', function(){
+ return {
+ restrict: 'E',
+ scope: {},
+ bindToController: true,
+ controllerAs: 'vm',
+ templateUrl: 'templates/ecord-topo.tpl.html',
+ controller: function(Eline, $location){
+
+ // retrieving user list
+ Eline.query().$promise
+ .then((elines) => {
+ this.elines = elines;
+ })
+ .catch((e) => {
+ throw new Error(e);
+ });
+
+ this.selectEline = (eline) => {
+ $location.path(`/eline/${eline.id}`)
+ }
+ }
+ };
+});
\ No newline at end of file
diff --git a/views/ngXosViews/ecordTopology/src/js/service-map.directive.js b/views/ngXosViews/ecordTopology/src/js/service-map.directive.js
new file mode 100644
index 0000000..2318b48
--- /dev/null
+++ b/views/ngXosViews/ecordTopology/src/js/service-map.directive.js
@@ -0,0 +1,222 @@
+/**
+ * © OpenCORD
+ *
+ * Visit http://guide.xosproject.org/devguide/addview/ for more information
+ *
+ * Created by teone on 6/28/16.
+ */
+
+(function () {
+ 'use strict';
+ angular.module('xos.ecordTopology')
+ .directive('serviceMap', function(){
+ return {
+ restrict: 'E',
+ scope: {
+ unis: '=',
+ services: '='
+ },
+ bindToController: true,
+ controllerAs: 'vm',
+ template: '',
+ controller: function($element, $scope, $rootScope, $timeout, $log, cordIcons){
+ const el = $element[0];
+ const layout = d3.layout.tree();
+ let duration = 500;
+ let margin = 40;
+
+ // count the mas depth of an object
+ const depthOf = (obj) => {
+ var depth = 0;
+ if (obj.children) {
+ obj.children.forEach(function (d) {
+ var tmpDepth = depthOf(d);
+ if (tmpDepth > depth) {
+ depth = tmpDepth
+ }
+ })
+ }
+ return 1 + depth
+ };
+
+ // create svg elements
+ const svg = d3.select(el)
+ .append('svg')
+ .style('width', `${el.clientWidth}px`)
+ .style('height', `${el.clientHeight}px`)
+
+ var diagonal = d3.svg.diagonal()
+ .projection(function(d) { return [d.y, d.x]; });
+
+ let i = 0;
+ const update = (tree) => {
+
+ let maxDepth = depthOf(tree);
+
+ layout
+ .size([el.clientHeight, el.clientWidth]);
+
+ var nodes = layout.nodes(tree);
+ var links = layout.links(nodes);
+
+ const step = ((el.clientWidth - margin) / (maxDepth - 1));
+ // Normalize for fixed-depth.
+ nodes.forEach(function(d, i) {
+ if(i === 0){
+ d.y = margin;
+ }
+ else{
+ d.y = d.depth * step;
+ }
+ });
+
+ // Update the nodes…
+ var node = svg.selectAll('g.node')
+ .data(nodes, (d) => {
+ return d.id || (d.id = ++i)
+ });
+
+
+ // Enter any new nodes at the parent's previous position.
+ var nodeEnter = node.enter().append('g')
+ .attr({
+ 'class': d => `node ${d.type}`,
+ id: d => d.id
+ })
+ .attr('transform', () => `translate(${el.clientWidth / 2}, 50)`);
+
+ nodeEnter.append('rect')
+ .attr({
+ class: d => d.type,
+ width: 24,
+ height: 24,
+ x: -12,
+ y: -12
+ });
+
+ // unis
+ nodeEnter.filter('.uni')
+ .append('path')
+ .attr({
+ d: cordIcons.cordLogo,
+ transform: 'translate(-10, -10),scale(0.18)'
+ });
+
+ // services
+ nodeEnter.filter('.service')
+ .append('path')
+ .attr({
+ d: cordIcons.service,
+ transform: 'translate(-12, -12)'
+ });
+
+ nodeEnter.append('text')
+ .attr({
+ 'text-anchor': 'middle',
+ x: 0,
+ y: 25
+ })
+ .text(d => {
+ return d.name
+ });
+
+ // Transition exiting nodes to the parent's new position.
+ var nodeExit = node.exit().transition()
+ .duration(duration)
+ .remove();
+
+ nodeExit.select('circle')
+ .attr('r', 1e-6);
+
+ nodeExit.select('text')
+ .style('fill-opacity', 1e-6);
+
+ var nodeUpdate = node.transition()
+ .duration(duration)
+ .attr('transform', (d) => `translate(${d.y},${d.x})`);
+
+ // Update the links…
+ var link = svg.selectAll('path.link')
+ .data(links, function(d) { return d.target.id; });
+
+ // Enter any new links at the parent's previous position.
+ link.enter().insert('path', 'g')
+ .attr('class', 'link')
+ .attr('d', function(d) {
+ var o = {x: d.source.x, y: d.source.y};
+ return diagonal({source: o, target: o});
+ });
+
+ // Transition links to their new position.
+ link.transition()
+ .duration(duration)
+ .attr('d', diagonal);
+
+ // Transition exiting nodes to the parent's new position.
+ link.exit().transition()
+ .duration(duration)
+ .attr('d', function(d) {
+ var o = {x: d.source.x, y: d.source.y};
+ return diagonal({source: o, target: o});
+ })
+ .remove();
+
+ // Stash the old positions for transition.
+ nodes.forEach(function(d) {
+ d.x0 = d.x;
+ d.y0 = d.y;
+ });
+ };
+
+ // format uni in the tree layout shape
+ this.formatUni = (unis) => {
+ return unis.reduce((list, item, i) => {
+ list.push({
+ name: item.scaEthFppUniN.name,
+ children: [],
+ id: `uni-${i}`
+ });
+ return list;
+ }, [])
+ return unis;
+ }
+
+ // add active services
+ this.addServices = (services, unis) => {
+
+ let list = [unis[0], ...services, unis[1]];
+
+
+ const addChildR = (base, list) => {
+
+ if(list.length === 0){
+ return [];
+ }
+
+ let el = list.shift();
+
+ let n = {
+ name: el.name || el.label,
+ type: el.name ? 'uni':'service',
+ children: addChildR(el, list),
+ id: el.id
+ };
+
+ return [n];
+ };
+
+ let tree = addChildR({}, list);
+
+ return tree[0];
+ };
+
+ $scope.$watch(() => this.services, (s) => {
+ if(s && this.unis){
+ update(this.addServices(s, this.formatUni(this.unis)))
+ }
+ }, true)
+ }
+ };
+ });
+})();
+
diff --git a/views/ngXosViews/ecordTopology/src/js/uni.service.js b/views/ngXosViews/ecordTopology/src/js/uni.service.js
new file mode 100644
index 0000000..3ac2beb
--- /dev/null
+++ b/views/ngXosViews/ecordTopology/src/js/uni.service.js
@@ -0,0 +1,36 @@
+/**
+ * © OpenCORD
+ *
+ * Visit http://guide.xosproject.org/devguide/addview/ for more information
+ *
+ * Created by teone on 6/27/16.
+ */
+
+(function () {
+ 'use strict';
+
+ angular.module('xos.ecordTopology')
+ .service('Uni', ($resource, _) => {
+ return $resource(`/api/service/metronetworkservice/SCA_ETH_FPP_UNI_N/:id`, {id: '@id'}, {
+ query: {
+ isArray: true,
+ interceptor: {
+ response: (res) => {
+ const augmentedUnis = _.map(res.data, (uni, i) => {
+ var latlng_val = uni.latlng;
+ var lat_val = latlng_val.substring(1, latlng_val.indexOf(',') - 1);
+ lat_val = lat_val.trim();
+ var lng_val = latlng_val.substring(latlng_val.indexOf(',') + 1, latlng_val.length - 1);
+ lng_val = lng_val.trim()
+
+ uni.latlng = [lat_val, lng_val];
+ return uni;
+ });
+ return augmentedUnis;
+ }
+ }
+ }
+ });
+ });
+})();
+
diff --git a/views/ngXosViews/ecordTopology/src/sass/elan-map.scss b/views/ngXosViews/ecordTopology/src/sass/elan-map.scss
new file mode 100644
index 0000000..a693ab0
--- /dev/null
+++ b/views/ngXosViews/ecordTopology/src/sass/elan-map.scss
@@ -0,0 +1,67 @@
+@import '../../../../style/sass/lib/_variables.scss';
+@import './vars.scss';
+
+elan-map {
+ display: block;
+ width: 100%;
+ height: 380px;
+ position: relative;
+
+ svg{
+ position: absolute;
+ top: 0;
+ left: 0;
+ }
+
+ circle.elan,
+ rect.elan {
+ stroke: $brand-info;
+ stroke-width: 2;
+ fill: #fff;
+ }
+
+ circle.elan,
+ circle.uni {
+ cursor: pointer;
+ }
+
+ .node.uni {
+
+ circle.uni,
+ rect.uni {
+ stroke: $cord-red;
+ stroke-width: 2;
+ fill: #fff;
+ }
+ path {
+ fill: darken($cord-red, 20%);
+ }
+ }
+
+ line {
+ stroke: $cord-red;
+ stroke-width: 1;
+ }
+
+ #map {
+ background: #EFEBE2;
+ }
+
+ .subunit {
+ fill: #B7DAFF;
+ stroke: white;
+ stroke-width: 1px;
+ }
+
+ .subunit._10{
+ fill: transparent;
+ stroke: transparent;
+ }
+
+ .exterior-boundary {
+ fill: none;
+ stroke: black;
+ stroke-linejoin: round;
+ stroke-width: 1px;
+ }
+}
\ No newline at end of file
diff --git a/views/ngXosViews/ecordTopology/src/sass/eline-details.scss b/views/ngXosViews/ecordTopology/src/sass/eline-details.scss
new file mode 100644
index 0000000..2d7834b
--- /dev/null
+++ b/views/ngXosViews/ecordTopology/src/sass/eline-details.scss
@@ -0,0 +1,15 @@
+@import '../../../../style/sass/lib/_variables.scss';
+@import '../../../../style/sass/bootstrap/bootstrap/_variables.scss';
+
+.service-container{
+ .btn {
+ font-size: $font-size-small;
+ }
+}
+
+.sla {
+ input.input-sm {
+ max-width: 60px;
+ text-align: right;
+ }
+}
\ No newline at end of file
diff --git a/views/ngXosViews/ecordTopology/src/sass/main.scss b/views/ngXosViews/ecordTopology/src/sass/main.scss
new file mode 100644
index 0000000..006182c
--- /dev/null
+++ b/views/ngXosViews/ecordTopology/src/sass/main.scss
@@ -0,0 +1,13 @@
+@import '../../../../style/sass/lib/_variables.scss';
+@import '../../../../style/sass/bootstrap/_bootstrap.scss';
+
+@import "./elan-map.scss";
+@import "./eline-details.scss";
+@import "./service-map.scss";
+
+
+#xosEcordTopology {
+ .btn-primary-border {
+ @include button-variant($btn-primary-bg, $btn-primary-color, $btn-primary-border);
+ }
+}
diff --git a/views/ngXosViews/ecordTopology/src/sass/service-map.scss b/views/ngXosViews/ecordTopology/src/sass/service-map.scss
new file mode 100644
index 0000000..966901b
--- /dev/null
+++ b/views/ngXosViews/ecordTopology/src/sass/service-map.scss
@@ -0,0 +1,41 @@
+@import '../../../../style/sass/lib/_variables.scss';
+@import './vars.scss';
+
+service-map {
+ width: 100%;
+ height: 100px;
+ display: block;
+
+ .node rect {
+ fill: #fff;
+ stroke-width: 2px;
+ }
+
+ .node.uni {
+ rect {
+ stroke: $cord-red;
+ }
+ path {
+ fill: darken($cord-red, 20%);
+ }
+ }
+
+ .node.service{
+ rect {
+ stroke: $brand-primary;
+ }
+ path {
+ fill: darken($brand-primary, 20%);
+ }
+ }
+
+ .node text {
+ font: 12px sans-serif;
+ }
+
+ .link {
+ fill: none;
+ stroke: #ccc;
+ stroke-width: 1;
+ }
+}
\ No newline at end of file
diff --git a/views/ngXosViews/ecordTopology/src/sass/vars.scss b/views/ngXosViews/ecordTopology/src/sass/vars.scss
new file mode 100644
index 0000000..5cb2d36
--- /dev/null
+++ b/views/ngXosViews/ecordTopology/src/sass/vars.scss
@@ -0,0 +1,5 @@
+$cord-red: #CE5650;
+
+/*$brand-primary: $cord-red;*/
+$panel-border-radius: 0;
+$border-radius-large: 2px;
\ No newline at end of file
diff --git a/views/ngXosViews/ecordTopology/src/templates/ecord-topo.tpl.html b/views/ngXosViews/ecordTopology/src/templates/ecord-topo.tpl.html
new file mode 100644
index 0000000..7c7e31e
--- /dev/null
+++ b/views/ngXosViews/ecordTopology/src/templates/ecord-topo.tpl.html
@@ -0,0 +1,62 @@
+<div class="row" ng-show="vm.elines.length == 0">
+ <div class="col-xs-10 col-xs-offset-1 text-center">
+ <div class="jumbotron" style="margin-top: 100px">
+ <div class="row">
+ <div class="col-sm-4">
+ <img ng-src="{{'/imgs/'+user.image+'.jpg'}}" class="img-responsive img-rounded">
+ </div>
+ <div class="col-sm-8">
+ <h1>Hello, {{currentUser.name}}</h1>
+ <p style="padding-top: 20px">
+ Looks like you have not yet created any E-LINE!
+ </p>
+ <div style="margin-top: 60px">
+ <a class="btn btn-success btn-lg" href="#/eline" role="button">Start now</a>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+<div class="row" ng-show="vm.elines.length > 0">
+ <div class="col-sm-6">
+ <div class="panel panel-primary animate-vertical" ng-hide="vm.elines.length == 0">
+ <div class="panel-heading">
+ <h3 class="panel-title">E-LINES</h3>
+ </div>
+ <div class="panel-body">
+ <elan-map elan="vm.elines"></elan-map>
+ </div>
+ </div>
+ </div>
+ <div class="col-sm-6 eline-list">
+ <div class="panel panel-primary table-container" ng-show="vm.elines.length >
+ 0">
+ <!-- <pre>{{elans | json}}</pre> -->
+ <table class="table">
+ <thead>
+ <tr>
+ <th>E-LINE</th>
+ <th>Unis</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr ng-repeat="eline in vm.elines | orderBy:'id'" ng-click="vm.selectEline(eline)">
+ <td>{{eline.sid}}</td>
+ <td>
+ <span> - </span>
+ {{eline.uni1.location}}
+ {{eline.uni1.pid}}
+ </span>
+ <span> - </span>
+ {{eline.uni2.location}}
+ {{eline.uni2.pid}}
+ </span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ <a class="btn btn-success btn-lg btn-block" href="#/eline" role="button">Create a new E-LINE!</a>
+ </div>
+</div>
\ No newline at end of file
diff --git a/views/ngXosViews/ecordTopology/src/templates/eline-details.tpl.html b/views/ngXosViews/ecordTopology/src/templates/eline-details.tpl.html
new file mode 100644
index 0000000..533099d
--- /dev/null
+++ b/views/ngXosViews/ecordTopology/src/templates/eline-details.tpl.html
@@ -0,0 +1,122 @@
+<div id="home" class="container-fluid">
+ <div class="row">
+ <div class="col-sm-6">
+ <div class="panel panel-primary">
+ <div class="panel-heading">
+ <h3 class="panel-title">E-LINE MAP</h3>
+ </div>
+ <div class="panel-body">
+ <elan-map ng-hide="!vm.eline" elan="[vm.eline]"></elan-map>
+ </div>
+ </div>
+ <div class="panel panel-primary">
+ <div class="panel-heading">
+ <h3 class="panel-title">E-LINE SERVICES</h3>
+ </div>
+ <div class="panel-body">
+ <service-map ng-if="vm.eline" unis="vm.eline.SCA_ETH_Flow_Points" services="vm.activeServices"></service-map>
+ </div>
+ </div>
+ </div>
+ <div class="col-sm-6">
+ <div class="panel panel-primary service-container">
+ <div class="panel-heading">
+ <h3 class="panel-title">Add a service:</h3>
+ </div>
+ <div class="panel-body">
+ <div class="row" ng-repeat="(k,v) in vm.availableServices">
+ <div class="col-xs-12">
+ <label>{{k | uppercase}}</label>
+ </div>
+ <div class="col-xs-{{12/v.length}}" ng-repeat="service in v">
+ <a ng-click="vm.toggleService(service)" class="btn btn-block"
+ ng-class="{'btn-primary-border': !vm.isServiceActive(service), 'btn-primary': vm.isServiceActive(service)}">{{service.label}}</a>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-sm-6">
+ <div class="panel panel-primary animate-vertical" ng-hide="!vm.eline.SCA_ETH_Flow_Points[0]">
+ <div class="panel-heading">
+ <h3 class="panel-title">{{vm.eline.SCA_ETH_Flow_Points[0].scaEthFppUniN.name}}</h3>
+ </div>
+ <div class="panel-body">
+ <div class="row">
+ <div class="col-sm-12">
+ <div class="input-group">
+ <span class="input-group-addon">CIR</span>
+ <input b-to-mb ng-model="vm.eline.SCA_ETH_Flow_Points[0].scaEthFppUniN.interfaceCfgIngressBwp.bwpCfgCir" ng-value="'10'" class="form-control" type="number" required>
+ <span class="input-group-addon">Gb</span>
+ </div>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-sm-12">
+ <div class="input-group">
+ <span class="input-group-addon">EIR</span>
+ <input b-to-mb ng-model="vm.eline.SCA_ETH_Flow_Points[0].scaEthFppUniN.interfaceCfgIngressBwp.bwpCfgEir" ng-value="'30'" class="form-control" type="number" required>
+ <span class="input-group-addon">Gb</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="col-sm-6">
+ <div class="panel panel-primary animate-vertical" ng-hide="!vm.eline.SCA_ETH_Flow_Points[1]">
+ <div class="panel-heading">
+ <h3 class="panel-title">{{vm.eline.SCA_ETH_Flow_Points[1].scaEthFppUniN.name}}</h3>
+ </div>
+ <div class="panel-body">
+ <div class="row">
+ <div class="col-sm-12">
+ <div class="input-group">
+ <span class="input-group-addon">CIR</span>
+ <input b-to-mb ng-model="vm.eline.SCA_ETH_Flow_Points[1].scaEthFppUniN.interfaceCfgIngressBwp.bwpCfgCir" ng-value="'10'" class="form-control" type="number" required>
+ <span class="input-group-addon">Gb</span>
+ </div>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-sm-12">
+ <div class="input-group">
+ <span class="input-group-addon">EIR</span>
+ <input b-to-mb ng-model="vm.eline.SCA_ETH_Flow_Points[1].scaEthFppUniN.interfaceCfgIngressBwp.bwpCfgEir" ng-value="'30'" class="form-control" type="number" required>
+ <span class="input-group-addon">Gb</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="panel panel-primary table-container sla">
+ <table class="table">
+ <thead>
+ <tr>
+ <th>SLA</th>
+ <th>Value</th>
+ <th>Unit</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr ng-repeat="sla in vm.slas">
+ <td>{{sla.name}}</td>
+ <td class="text-right">
+ <input class="form-control input-sm" type="text" ng-model="sla.default"></input>
+ </td>
+ <td>{{sla.unit}}</td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ <div class="row">
+ <div class="col-xs-12">
+ <div ng-show="!saved"ng-click="vm.saveEline()" class="btn btn-success btn-block btn-lg">Save</div>
+ <div ng-show="saved"class="form-success btn-blockanimate-fade">Done</div>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
\ No newline at end of file
diff --git a/views/ngXosViews/ecordTopology/src/templates/eline-form.tpl.html b/views/ngXosViews/ecordTopology/src/templates/eline-form.tpl.html
new file mode 100644
index 0000000..ebe0445
--- /dev/null
+++ b/views/ngXosViews/ecordTopology/src/templates/eline-form.tpl.html
@@ -0,0 +1,114 @@
+<!-- ELINE CREATION POINT TO POINT -->
+<div class="container-fluid eline-form">
+ <div class="row">
+ <div class="col-xs-10 col-xs-offset-1">
+ <div class="panel panel-primary animate-vertical">
+ <div class="panel-heading">
+ <h3 class="panel-title">Create E-LINE</h3>
+ </div>
+ <form name="vm.eline" ng-submit="vm.createEline(vm.el, vm.eline)">
+ <div class="panel-body">
+ <div class="row">
+ <div class="col-xs-12">
+ <label>Name:</label>
+ <input type="text" class="form-control input-lg" ng-model="vm.el.evcCfgidentifier" required></div>
+ </div>
+ <div class="row">
+ <div class="col-xs-6">
+ <label>Start:</label>
+ <div class="alert alert-danger animate-vertical" ng-hide="!vm.formErrors.startError">
+ {{vm.formErrors.startError}}
+ </div>
+ <!--<pre>{{vm.startUnis | json}}</pre>-->
+ <div class="row uni-repeat" ng-repeat="u in vm.startUnis">
+ <div class="col-xs-2">
+ <checkbox largest
+ ng-class="{'btn-primary': !u.alreadySelected, 'btn-danger': u.alreadySelected === true}"
+ ng-model="u.selected"
+ ng-change="vm.selectUni(u, 'start')"
+ required
+ ></checkbox>
+ </div>
+ <div class="col-xs-5">
+
+ <b>{{u.name || u.interfaceCfgIdentifier}}</b>
+
+ </div>
+ <div class="col-xs-5">
+ {{u.location}}
+ </div>
+ </div>
+ </div>
+ <div class="col-xs-6">
+ <label>End:</label>
+ <div class="alert alert-danger animate-vertical" ng-hide="!vm.formErrors.endError">
+ {{vm.formErrors.endError}}
+ </div>
+ <div class="row uni-repeat" ng-repeat="u in vm.endUnis">
+ <div class="col-xs-2">
+ <checkbox largest
+ ng-class="{'btn-primary': !u.alreadySelected, 'btn-danger': u.alreadySelected === true}"
+ ng-model="u.selected"
+ ng-change="vm.selectUni(u, 'end')"
+ required
+ ></checkbox>
+ </div>
+ <div class="col-xs-5">
+ <b>{{u.name || u.interfaceCfgIdentifier}}</b>
+ </div>
+ <div class="col-xs-5">
+ {{u.location}}
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="panel-footer text-right">
+ <button ng-hide="vm.eline.$saved" type="submit" class="btn btn-success btn-lg animate-fade">Save</button>
+ <div ng-hide="!vm.eline.$saved" class="form-success animate-fade">Done</div>
+ </div>
+ </form>
+ </div>
+ </div>
+ </div>
+</div>
+
+<!-- MULTIPLE POINT CREATION -->
+<div class="container-fluid eline-form" ng-if="vm.currentUser.userId === 2">
+ <div class="row">
+ <div class="col-xs-10 col-xs-offset-1">
+ <div class="panel panel-primary animate-vertical">
+ <div class="panel-heading">
+ <h3 class="panel-title">Create Infrastructure</h3>
+ </div>
+ <form name="vm.infrastructure" ng-submit="vm.createInfrastructure(vm.infrastructureUnis)">
+ <div class="panel-body">
+ <div class="row">
+ <div class="col-sm-6 infrastructureUnis" ng-repeat="u in vm.infrastructureUnis">
+ <div class="row uni-repeat">
+ <div class="col-xs-2">
+ <checkbox largest
+ class="btn-primary"
+ ng-model="u.selected"
+ required
+ ></checkbox>
+ </div>
+ <div class="col-xs-5">
+ <b>{{u.name}}</b>
+ </div>
+ <div class="col-xs-5">
+ {{u.location}}
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="panel-footer text-right">
+ <button ng-hide="vm.eline.$saved" type="submit" class="btn btn-success btn-lg animate-fade">Save</button>
+ <div ng-hide="!vm.eline.$saved" class="form-success animate-fade">Done</div>
+ </div>
+ </form>
+ </div>
+ </div>
+ </div>
+</div>
\ No newline at end of file
diff --git a/xos/core/admin.py b/xos/core/admin.py
index a4de231..fa28734 100644
--- a/xos/core/admin.py
+++ b/xos/core/admin.py
@@ -2435,6 +2435,7 @@
'classes':['suit-tab suit-tab-general']}),
]
+
# Now register the new UserAdmin...
admin.site.register(User, UserAdmin)
# ... and, since we're not using Django's builtin permissions,
@@ -2481,3 +2482,5 @@
admin.site.register(TenantAttribute, TenantAttributeAdmin)
admin.site.register(AddressPool, AddressPoolAdmin)
admin.site.register(Diag, DiagAdmin)
+
+
diff --git a/xos/core/models/__init__.py b/xos/core/models/__init__.py
index 41e6b3b..d889a26 100644
--- a/xos/core/models/__init__.py
+++ b/xos/core/models/__init__.py
@@ -31,4 +31,3 @@
from .network import Network, NetworkParameterType, NetworkParameter, Port, NetworkTemplate, Router, NetworkSlice, ControllerNetwork, AddressPool
from .billing import Account, Invoice, Charge, UsableObject, Payment
from .program import Program
-
diff --git a/xos/core/xoslib/dashboards/xosEcordTopology.html b/xos/core/xoslib/dashboards/xosEcordTopology.html
new file mode 100644
index 0000000..9e19b57
--- /dev/null
+++ b/xos/core/xoslib/dashboards/xosEcordTopology.html
@@ -0,0 +1,17 @@
+<!-- browserSync -->
+
+<!-- endcss -->
+<!-- inject:css -->
+<link rel="stylesheet" href="/static/css/xosEcordTopology.css">
+<!-- endinject -->
+
+<div ng-app="xos.ecordTopology" id="xosEcordTopology" class="container-fluid">
+ <div ui-view></div>
+</div>
+
+
+<!-- endjs -->
+<!-- inject:js -->
+<script src="/static/js/vendor/xosEcordTopologyVendor.js"></script>
+<script src="/static/js/xosEcordTopology.js"></script>
+<!-- endinject -->
\ No newline at end of file
diff --git a/xos/core/xoslib/static/css/xosEcordTopology.css b/xos/core/xoslib/static/css/xosEcordTopology.css
new file mode 100644
index 0000000..42fb53f
--- /dev/null
+++ b/xos/core/xoslib/static/css/xosEcordTopology.css
@@ -0,0 +1,8 @@
+elan-map{display:block;width:100%;height:380px;position:relative}elan-map svg{position:absolute;top:0;left:0}elan-map circle.elan,elan-map rect.elan{stroke:#5bc0de;stroke-width:2;fill:#fff}elan-map circle.elan,elan-map circle.uni{cursor:pointer}elan-map .node.uni circle.uni,elan-map .node.uni rect.uni{stroke:#ce5650;stroke-width:2;fill:#fff}elan-map .node.uni path{fill:#902d28}elan-map line{stroke:#ce5650;stroke-width:1}elan-map #map{background:#efebe2}elan-map .subunit{fill:#b7daff;stroke:white;stroke-width:1px}elan-map .subunit._10{fill:transparent;stroke:transparent}elan-map .exterior-boundary{fill:none;stroke:black;stroke-linejoin:round;stroke-width:1px}
+.service-container .btn{font-size:12px}.sla input.input-sm{max-width:60px;text-align:right}
+@charset "UTF-8";/*!
+ * Bootstrap v3.3.6 (http://getbootstrap.com)
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@font-face{font-family:Glyphicons Halflings;src:url(/static/suit/bootstrap/fonts/glyphicons-halflings-regular.eot);src:url(/static/suit/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix) format("embedded-opentype"),url(/static/suit/bootstrap/fonts/glyphicons-halflings-regular.woff2) format("woff2"),url(/static/suit/bootstrap/fonts/glyphicons-halflings-regular.woff) format("woff"),url(/static/suit/bootstrap/fonts/glyphicons-halflings-regular.ttf) format("truetype"),url(/static/suit/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format("svg")}.glyphicon{position:relative;top:1px;display:inline-block;font-family:Glyphicons Halflings;font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{box-sizing:border-box}*:before,*:after{box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:hover,a:focus{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857;background-color:#fff;border:1px solid #ddd;border-radius:4px;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h1 .small,h2 small,h2 .small,h3 small,h3 .small,h4 small,h4 .small,h5 small,h5 .small,h6 small,h6 .small,.h1 small,.h1 .small,.h2 small,.h2 .small,.h3 small,.h3 .small,.h4 small,.h4 .small,.h5 small,.h5 .small,.h6 small,.h6 .small{font-weight:400;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,h1 .small,.h1 small,.h1 .small,h2 small,h2 .small,.h2 small,.h2 .small,h3 small,h3 .small,.h3 small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,h4 .small,.h4 small,.h4 .small,h5 small,h5 .small,.h5 small,.h5 .small,h6 small,h6 .small,.h6 small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}small,.small{font-size:85%}mark,.mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase,.initialism{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover,a.text-primary:focus{color:#286090}.text-success{color:#3c763d}a.text-success:hover,a.text-success:focus{color:#2b542c}.text-info{color:#31708f}a.text-info:hover,a.text-info:focus{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover,a.text-warning:focus{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover,a.text-danger:focus{color:#843534}.bg-primary{color:#fff}.bg-primary{background-color:#337ab7}a.bg-primary:hover,a.bg-primary:focus{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover,a.bg-success:focus{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover,a.bg-info:focus{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover,a.bg-warning:focus{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover,a.bg-danger:focus{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ul ol,ol ul,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857}dt{font-weight:700}dd{margin-left:0}.dl-horizontal dd:before,.dl-horizontal dd:after{content:" ";display:table}.dl-horizontal dd:after{clear:both}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}.blockquote-reverse footer:before,.blockquote-reverse small:before,.blockquote-reverse .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,.blockquote-reverse small:after,.blockquote-reverse .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,Courier New,monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.container:before,.container:after{content:" ";display:table}.container:after{clear:both}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.container-fluid:before,.container-fluid:after{content:" ";display:table}.container-fluid:after{clear:both}.row{margin-left:-15px;margin-right:-15px}.row:before,.row:after{content:" ";display:table}.row:after{clear:both}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-1{width:8.33333%}.col-xs-2{width:16.66667%}.col-xs-3{width:25%}.col-xs-4{width:33.33333%}.col-xs-5{width:41.66667%}.col-xs-6{width:50%}.col-xs-7{width:58.33333%}.col-xs-8{width:66.66667%}.col-xs-9{width:75%}.col-xs-10{width:83.33333%}.col-xs-11{width:91.66667%}.col-xs-12{width:100%}.col-xs-pull-0{right:auto}.col-xs-pull-1{right:8.33333%}.col-xs-pull-2{right:16.66667%}.col-xs-pull-3{right:25%}.col-xs-pull-4{right:33.33333%}.col-xs-pull-5{right:41.66667%}.col-xs-pull-6{right:50%}.col-xs-pull-7{right:58.33333%}.col-xs-pull-8{right:66.66667%}.col-xs-pull-9{right:75%}.col-xs-pull-10{right:83.33333%}.col-xs-pull-11{right:91.66667%}.col-xs-pull-12{right:100%}.col-xs-push-0{left:auto}.col-xs-push-1{left:8.33333%}.col-xs-push-2{left:16.66667%}.col-xs-push-3{left:25%}.col-xs-push-4{left:33.33333%}.col-xs-push-5{left:41.66667%}.col-xs-push-6{left:50%}.col-xs-push-7{left:58.33333%}.col-xs-push-8{left:66.66667%}.col-xs-push-9{left:75%}.col-xs-push-10{left:83.33333%}.col-xs-push-11{left:91.66667%}.col-xs-push-12{left:100%}.col-xs-offset-0{margin-left:0}.col-xs-offset-1{margin-left:8.33333%}.col-xs-offset-2{margin-left:16.66667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.33333%}.col-xs-offset-5{margin-left:41.66667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.33333%}.col-xs-offset-8{margin-left:66.66667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.33333%}.col-xs-offset-11{margin-left:91.66667%}.col-xs-offset-12{margin-left:100%}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>thead>tr>td,.table>tbody>tr>th,.table>tbody>tr>td,.table>tfoot>tr>th,.table>tfoot>tr>td{padding:8px;line-height:1.42857;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>th,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;float:none;display:table-column}table td[class*=col-],table th[class*=col-]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>thead>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>thead>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>thead>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>thead>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>thead>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:.01%}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{box-sizing:border-box}input[type=radio],input[type=checkbox]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=radio]:focus,input[type=checkbox]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,.075);transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{border:0;background-color:transparent}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.radio input[type=radio],.radio-inline input[type=radio],.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type=radio][disabled],input[type=radio].disabled,fieldset[disabled] input[type=radio],input[type=checkbox][disabled],input[type=checkbox].disabled,fieldset[disabled] input[type=checkbox]{cursor:not-allowed}.radio-inline.disabled,fieldset[disabled] .radio-inline,.checkbox-inline.disabled,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,fieldset[disabled] .radio label,.checkbox.disabled label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0;min-height:34px}.form-control-static.input-lg,.input-group-lg>.form-control-static.form-control,.input-group-lg>.form-control-static.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.form-control-static.input-sm,.input-group-sm>.form-control-static.form-control,.input-group-sm>.form-control-static.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn{padding-left:0;padding-right:0}.input-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm,.input-group-sm>select.form-control,.input-group-sm>select.input-group-addon,.input-group-sm>.input-group-btn>select.btn{height:30px;line-height:30px}textarea.input-sm,.input-group-sm>textarea.form-control,.input-group-sm>textarea.input-group-addon,.input-group-sm>.input-group-btn>textarea.btn,select[multiple].input-sm,.input-group-sm>select[multiple].form-control,.input-group-sm>select[multiple].input-group-addon,.input-group-sm>.input-group-btn>select[multiple].btn{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33333;border-radius:6px}select.input-lg,.input-group-lg>select.form-control,.input-group-lg>select.input-group-addon,.input-group-lg>.input-group-btn>select.btn{height:46px;line-height:46px}textarea.input-lg,.input-group-lg>textarea.form-control,.input-group-lg>textarea.input-group-addon,.input-group-lg>.input-group-btn>textarea.btn,select[multiple].input-lg,.input-group-lg>select[multiple].form-control,.input-group-lg>select[multiple].input-group-addon,.input-group-lg>.input-group-btn>select[multiple].btn{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.33333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.33333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg>.form-control+.form-control-feedback,.input-group-lg>.input-group-addon+.form-control-feedback,.input-group-lg>.input-group-btn>.btn+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback,.input-group-sm>.form-control+.form-control-feedback,.input-group-sm>.input-group-addon+.form-control-feedback,.input-group-sm>.input-group-btn>.btn+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}.form-horizontal .form-group:before,.form-horizontal .form-group:after{content:" ";display:table}.form-horizontal .form-group:after{clear:both}.form-horizontal .has-feedback .form-control-feedback{right:15px}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn.focus,.btn:active:focus,.btn:active.focus,.btn.active:focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#333;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:focus,.btn-default.focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.btn-default.dropdown-toggle{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active:hover,.btn-default:active:focus,.btn-default:active.focus,.btn-default.active:hover,.btn-default.active:focus,.btn-default.active.focus,.open>.btn-default.dropdown-toggle:hover,.open>.btn-default.dropdown-toggle:focus,.open>.btn-default.dropdown-toggle.focus{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default:active,.btn-default.active,.open>.btn-default.dropdown-toggle{background-image:none}.btn-default.disabled:hover,.btn-default.disabled:focus,.btn-default.disabled.focus,.btn-default[disabled]:hover,.btn-default[disabled]:focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default:hover,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default.focus{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active,.btn-primary.active,.open>.btn-primary.dropdown-toggle{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active:hover,.btn-primary:active:focus,.btn-primary:active.focus,.btn-primary.active:hover,.btn-primary.active:focus,.btn-primary.active.focus,.open>.btn-primary.dropdown-toggle:hover,.open>.btn-primary.dropdown-toggle:focus,.open>.btn-primary.dropdown-toggle.focus{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary:active,.btn-primary.active,.open>.btn-primary.dropdown-toggle{background-image:none}.btn-primary.disabled:hover,.btn-primary.disabled:focus,.btn-primary.disabled.focus,.btn-primary[disabled]:hover,.btn-primary[disabled]:focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary:hover,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary.focus{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:focus,.btn-success.focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active:hover,.btn-success:active:focus,.btn-success:active.focus,.btn-success.active:hover,.btn-success.active:focus,.btn-success.active.focus,.open>.btn-success.dropdown-toggle:hover,.open>.btn-success.dropdown-toggle:focus,.open>.btn-success.dropdown-toggle.focus{color:#fff;background-color:#398439;border-color:#255625}.btn-success:active,.btn-success.active,.open>.btn-success.dropdown-toggle{background-image:none}.btn-success.disabled:hover,.btn-success.disabled:focus,.btn-success.disabled.focus,.btn-success[disabled]:hover,.btn-success[disabled]:focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success:hover,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success.focus{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:focus,.btn-info.focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active:hover,.btn-info:active:focus,.btn-info:active.focus,.btn-info.active:hover,.btn-info.active:focus,.btn-info.active.focus,.open>.btn-info.dropdown-toggle:hover,.open>.btn-info.dropdown-toggle:focus,.open>.btn-info.dropdown-toggle.focus{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info:active,.btn-info.active,.open>.btn-info.dropdown-toggle{background-image:none}.btn-info.disabled:hover,.btn-info.disabled:focus,.btn-info.disabled.focus,.btn-info[disabled]:hover,.btn-info[disabled]:focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info:hover,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info.focus{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:focus,.btn-warning.focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active:hover,.btn-warning:active:focus,.btn-warning:active.focus,.btn-warning.active:hover,.btn-warning.active:focus,.btn-warning.active.focus,.open>.btn-warning.dropdown-toggle:hover,.open>.btn-warning.dropdown-toggle:focus,.open>.btn-warning.dropdown-toggle.focus{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning:active,.btn-warning.active,.open>.btn-warning.dropdown-toggle{background-image:none}.btn-warning.disabled:hover,.btn-warning.disabled:focus,.btn-warning.disabled.focus,.btn-warning[disabled]:hover,.btn-warning[disabled]:focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning:hover,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning.focus{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active:hover,.btn-danger:active:focus,.btn-danger:active.focus,.btn-danger.active:hover,.btn-danger.active:focus,.btn-danger.active.focus,.open>.btn-danger.dropdown-toggle:hover,.open>.btn-danger.dropdown-toggle:focus,.open>.btn-danger.dropdown-toggle.focus{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger:active,.btn-danger.active,.open>.btn-danger.dropdown-toggle{background-image:none}.btn-danger.disabled:hover,.btn-danger.disabled:focus,.btn-danger.disabled.focus,.btn-danger[disabled]:hover,.btn-danger[disabled]:focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger:hover,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger.focus{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{color:#337ab7;font-weight:400;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:hover,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33333;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.fade{opacity:0;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;transition-property:height,visibility;transition-duration:.35s;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \9;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#337ab7}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar:before,.btn-toolbar:after{content:" ";display:table}.btn-toolbar:after{clear:both}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle,.btn-group-lg.btn-group>.btn+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret,.btn-group-lg>.btn .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret,.dropup .btn-group-lg>.btn .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{content:" ";display:table}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=radio],.input-group-addon input[type=checkbox]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav:before,.nav:after{content:" ";display:table}.nav:after{clear:both}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified,.nav-tabs.nav-justified{width:100%}.nav-justified>li,.nav-tabs.nav-justified>li{float:none}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}.nav-tabs-justified,.nav-tabs.nav-justified{border-bottom:0}.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs.nav-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar:before,.navbar:after{content:" ";display:table}.navbar:after{clear:both}.navbar-header:before,.navbar-header:after{content:" ";display:table}.navbar-header:after{clear:both}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.navbar-collapse:before,.navbar-collapse:after{content:" ";display:table}.navbar-collapse:after{clear:both}.navbar-collapse.in{overflow-y:auto}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}.container>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-header,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}.navbar-static-top{z-index:1000;border-width:0 0 1px}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px;font-size:18px;line-height:20px;height:50px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin-top:8px;margin-bottom:8px}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm,.btn-group-sm>.navbar-btn.btn{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs,.btn-group-xs>.navbar-btn.btn{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#e7e7e7;color:#555}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:hover,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#090909}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#090909;color:#fff}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:hover,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/ ";padding:0 5px;color:#ccc}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.42857;text-decoration:none;color:#337ab7;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>a:focus,.pagination>li>span:hover,.pagination>li>span:focus{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:hover,.pagination>.active>a:focus,.pagination>.active>span,.pagination>.active>span:hover,.pagination>.active>span:focus{z-index:3;color:#fff;background-color:#337ab7;border-color:#337ab7;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.33333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager:before,.pager:after{content:" ";display:table}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.label:empty{display:none}.btn .label{position:relative;top:-1px}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;color:#fff;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px;padding-left:15px;padding-right:15px}.jumbotron .container{max-width:100%}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857;background-color:#fff;border:1px solid #ddd;border-radius:4px;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{display:block;max-width:100%;height:auto;margin-left:auto;margin-right:auto}.thumbnail .caption{padding:9px;color:#333}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#337ab7}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.progress-striped .progress-bar,.progress-bar-striped{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:40px 40px}.progress.active .progress-bar,.progress-bar.active{animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{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)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{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)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{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)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{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)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus,button.list-group-item:hover,button.list-group-item:focus{text-decoration:none;color:#555;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#eee;color:#777;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:hover,button.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active,button.list-group-item-success.active:hover,button.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:hover,button.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active,button.list-group-item-info.active:hover,button.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:hover,button.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active,button.list-group-item-warning.active:hover,button.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:hover,button.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active,button.list-group-item-danger.active:hover,button.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-body:before,.panel-body:after{content:" ";display:table}.panel-body:after{clear:both}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{transform:translate(0,-25%);transition:transform .3s ease-out}.modal.in .modal-dialog{transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;box-shadow:0 3px 9px rgba(0,0,0,.5);background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header:before,.modal-header:after{content:" ";display:table}.modal-header:after{clear:both}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer:before,.modal-footer:after{content:" ";display:table}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.tooltip{position:absolute;z-index:1070;display:block;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.42857;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:12px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.42857;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:14px;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:.5;filter:alpha(opacity=50);font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:transparent}.carousel-control.left{background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000',endColorstr='#00000000',GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000',endColorstr='#80000000',GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:transparent}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}.clearfix:before,.clearfix:after{content:" ";display:table}.clearfix:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs{display:none!important}.visible-sm{display:none!important}.visible-md{display:none!important}.visible-lg{display:none!important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none!important}.visible-print{display:none!important}.visible-print-block{display:none!important}.visible-print-inline{display:none!important}.visible-print-inline-block{display:none!important}elan-map{display:block;width:100%;height:380px;position:relative}elan-map svg{position:absolute;top:0;left:0}elan-map circle.elan,elan-map rect.elan{stroke:#5bc0de;stroke-width:2;fill:#fff}elan-map circle.elan,elan-map circle.uni{cursor:pointer}elan-map .node.uni circle.uni,elan-map .node.uni rect.uni{stroke:#ce5650;stroke-width:2;fill:#fff}elan-map .node.uni path{fill:#902d28}elan-map line{stroke:#ce5650;stroke-width:1}elan-map #map{background:#efebe2}elan-map .subunit{fill:#b7daff;stroke:white;stroke-width:1px}elan-map .subunit._10{fill:transparent;stroke:transparent}elan-map .exterior-boundary{fill:none;stroke:black;stroke-linejoin:round;stroke-width:1px}.service-container .btn{font-size:12px}.sla input.input-sm,.sla .input-group-sm>input.form-control,.sla .input-group-sm>input.input-group-addon,.sla .input-group-sm>.input-group-btn>input.btn{max-width:60px;text-align:right}service-map{width:100%;height:100px;display:block}service-map .node rect{fill:#fff;stroke-width:2px}service-map .node.uni rect{stroke:#ce5650}service-map .node.uni path{fill:#902d28}service-map .node.service rect{stroke:#337ab7}service-map .node.service path{fill:#1d4568}service-map .node text{font:12px sans-serif}service-map .link{fill:none;stroke:#ccc;stroke-width:1}#xosEcordTopology .btn-primary-border{color:#337ab7;background-color:#fff;border-color:#2e6da4}#xosEcordTopology .btn-primary-border:focus,#xosEcordTopology .btn-primary-border.focus{color:#337ab7;background-color:#e6e6e6;border-color:#122b40}#xosEcordTopology .btn-primary-border:hover{color:#337ab7;background-color:#e6e6e6;border-color:#204d74}#xosEcordTopology .btn-primary-border:active,#xosEcordTopology .btn-primary-border.active,.open>#xosEcordTopology .btn-primary-border.dropdown-toggle{color:#337ab7;background-color:#e6e6e6;border-color:#204d74}#xosEcordTopology .btn-primary-border:active:hover,#xosEcordTopology .btn-primary-border:active:focus,#xosEcordTopology .btn-primary-border:active.focus,#xosEcordTopology .btn-primary-border.active:hover,#xosEcordTopology .btn-primary-border.active:focus,#xosEcordTopology .btn-primary-border.active.focus,.open>#xosEcordTopology .btn-primary-border.dropdown-toggle:hover,.open>#xosEcordTopology .btn-primary-border.dropdown-toggle:focus,.open>#xosEcordTopology .btn-primary-border.dropdown-toggle.focus{color:#337ab7;background-color:#d4d4d4;border-color:#122b40}#xosEcordTopology .btn-primary-border:active,#xosEcordTopology .btn-primary-border.active,.open>#xosEcordTopology .btn-primary-border.dropdown-toggle{background-image:none}#xosEcordTopology .btn-primary-border.disabled:hover,#xosEcordTopology .btn-primary-border.disabled:focus,#xosEcordTopology .btn-primary-border.disabled.focus,#xosEcordTopology .btn-primary-border[disabled]:hover,#xosEcordTopology .btn-primary-border[disabled]:focus,#xosEcordTopology .btn-primary-border[disabled].focus,fieldset[disabled] #xosEcordTopology .btn-primary-border:hover,fieldset[disabled] #xosEcordTopology .btn-primary-border:focus,fieldset[disabled] #xosEcordTopology .btn-primary-border.focus{background-color:#fff;border-color:#2e6da4}#xosEcordTopology .btn-primary-border .badge{color:#fff;background-color:#337ab7}@media print{*,*:before,*:after{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}th.visible-print,td.visible-print{display:table-cell!important}.visible-print-block{display:block!important}.visible-print-inline{display:inline!important}.visible-print-inline-block{display:inline-block!important}.hidden-print{display:none!important}}@media(min-width:768px){.lead{font-size:21px}.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.container{width:750px}.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-1{width:8.33333%}.col-sm-2{width:16.66667%}.col-sm-3{width:25%}.col-sm-4{width:33.33333%}.col-sm-5{width:41.66667%}.col-sm-6{width:50%}.col-sm-7{width:58.33333%}.col-sm-8{width:66.66667%}.col-sm-9{width:75%}.col-sm-10{width:83.33333%}.col-sm-11{width:91.66667%}.col-sm-12{width:100%}.col-sm-pull-0{right:auto}.col-sm-pull-1{right:8.33333%}.col-sm-pull-2{right:16.66667%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.33333%}.col-sm-pull-5{right:41.66667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.33333%}.col-sm-pull-8{right:66.66667%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.33333%}.col-sm-pull-11{right:91.66667%}.col-sm-pull-12{right:100%}.col-sm-push-0{left:auto}.col-sm-push-1{left:8.33333%}.col-sm-push-2{left:16.66667%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.33333%}.col-sm-push-5{left:41.66667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.33333%}.col-sm-push-8{left:66.66667%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.33333%}.col-sm-push-11{left:91.66667%}.col-sm-push-12{left:100%}.col-sm-offset-0{margin-left:0}.col-sm-offset-1{margin-left:8.33333%}.col-sm-offset-2{margin-left:16.66667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.33333%}.col-sm-offset-5{margin-left:41.66667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.33333%}.col-sm-offset-8{margin-left:66.66667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.33333%}.col-sm-offset-11{margin-left:91.66667%}.col-sm-offset-12{margin-left:100%}.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type=radio],.form-inline .checkbox input[type=checkbox]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{left:0;right:auto}.nav-justified>li,.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{margin-bottom:0}.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs.nav-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}.navbar{border-radius:4px}.navbar-header{float:left}.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}.container>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-header,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}.navbar-static-top{border-radius:0}.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}.navbar-toggle{display:none}.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type=radio],.navbar-form .checkbox input[type=checkbox]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;box-shadow:none}.navbar-text{float:left;margin-left:15px;margin-right:15px}.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}.modal-dialog{width:600px;margin:30px auto}.modal-content{box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media(min-width:992px){.container{width:970px}.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-1{width:8.33333%}.col-md-2{width:16.66667%}.col-md-3{width:25%}.col-md-4{width:33.33333%}.col-md-5{width:41.66667%}.col-md-6{width:50%}.col-md-7{width:58.33333%}.col-md-8{width:66.66667%}.col-md-9{width:75%}.col-md-10{width:83.33333%}.col-md-11{width:91.66667%}.col-md-12{width:100%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.33333%}.col-md-pull-2{right:16.66667%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.33333%}.col-md-pull-5{right:41.66667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.33333%}.col-md-pull-8{right:66.66667%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.33333%}.col-md-pull-11{right:91.66667%}.col-md-pull-12{right:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.33333%}.col-md-push-2{left:16.66667%}.col-md-push-3{left:25%}.col-md-push-4{left:33.33333%}.col-md-push-5{left:41.66667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.33333%}.col-md-push-8{left:66.66667%}.col-md-push-9{left:75%}.col-md-push-10{left:83.33333%}.col-md-push-11{left:91.66667%}.col-md-push-12{left:100%}.col-md-offset-0{margin-left:0}.col-md-offset-1{margin-left:8.33333%}.col-md-offset-2{margin-left:16.66667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.33333%}.col-md-offset-5{margin-left:41.66667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.33333%}.col-md-offset-8{margin-left:66.66667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.33333%}.col-md-offset-11{margin-left:91.66667%}.col-md-offset-12{margin-left:100%}.modal-lg{width:900px}}@media(min-width:1200px){.container{width:1170px}.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-1{width:8.33333%}.col-lg-2{width:16.66667%}.col-lg-3{width:25%}.col-lg-4{width:33.33333%}.col-lg-5{width:41.66667%}.col-lg-6{width:50%}.col-lg-7{width:58.33333%}.col-lg-8{width:66.66667%}.col-lg-9{width:75%}.col-lg-10{width:83.33333%}.col-lg-11{width:91.66667%}.col-lg-12{width:100%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.33333%}.col-lg-pull-2{right:16.66667%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.33333%}.col-lg-pull-5{right:41.66667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.33333%}.col-lg-pull-8{right:66.66667%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.33333%}.col-lg-pull-11{right:91.66667%}.col-lg-pull-12{right:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.33333%}.col-lg-push-2{left:16.66667%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.33333%}.col-lg-push-5{left:41.66667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.33333%}.col-lg-push-8{left:66.66667%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.33333%}.col-lg-push-11{left:91.66667%}.col-lg-push-12{left:100%}.col-lg-offset-0{margin-left:0}.col-lg-offset-1{margin-left:8.33333%}.col-lg-offset-2{margin-left:16.66667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.33333%}.col-lg-offset-5{margin-left:41.66667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.33333%}.col-lg-offset-8{margin-left:66.66667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.33333%}.col-lg-offset-11{margin-left:91.66667%}.col-lg-offset-12{margin-left:100%}.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}th.visible-lg,td.visible-lg{display:table-cell!important}.visible-lg-block{display:block!important}.visible-lg-inline{display:inline!important}.visible-lg-inline-block{display:inline-block!important}.hidden-lg{display:none!important}}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}input[type=date].input-sm,.input-group-sm>input[type=date].form-control,.input-group-sm>input[type=date].input-group-addon,.input-group-sm>.input-group-btn>input[type=date].btn,.input-group-sm input[type=date],input[type=time].input-sm,.input-group-sm>input[type=time].form-control,.input-group-sm>input[type=time].input-group-addon,.input-group-sm>.input-group-btn>input[type=time].btn,.input-group-sm input[type=time],input[type=datetime-local].input-sm,.input-group-sm>input[type=datetime-local].form-control,.input-group-sm>input[type=datetime-local].input-group-addon,.input-group-sm>.input-group-btn>input[type=datetime-local].btn,.input-group-sm input[type=datetime-local],input[type=month].input-sm,.input-group-sm>input[type=month].form-control,.input-group-sm>input[type=month].input-group-addon,.input-group-sm>.input-group-btn>input[type=month].btn,.input-group-sm input[type=month]{line-height:30px}input[type=date].input-lg,.input-group-lg>input[type=date].form-control,.input-group-lg>input[type=date].input-group-addon,.input-group-lg>.input-group-btn>input[type=date].btn,.input-group-lg input[type=date],input[type=time].input-lg,.input-group-lg>input[type=time].form-control,.input-group-lg>input[type=time].input-group-addon,.input-group-lg>.input-group-btn>input[type=time].btn,.input-group-lg input[type=time],input[type=datetime-local].input-lg,.input-group-lg>input[type=datetime-local].form-control,.input-group-lg>input[type=datetime-local].input-group-addon,.input-group-lg>.input-group-btn>input[type=datetime-local].btn,.input-group-lg input[type=datetime-local],input[type=month].input-lg,.input-group-lg>input[type=month].form-control,.input-group-lg>input[type=month].input-group-addon,.input-group-lg>.input-group-btn>input[type=month].btn,.input-group-lg input[type=month]{line-height:46px}}@media(max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}@media(max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}th.visible-xs,td.visible-xs{display:table-cell!important}.visible-xs-block{display:block!important}.visible-xs-inline{display:inline!important}.visible-xs-inline-block{display:inline-block!important}.hidden-xs{display:none!important}}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{transform:translate3d(100%,0,0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{transform:translate3d(-100%,0,0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{transform:translate3d(0,0,0);left:0}}@media(min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}th.visible-sm,td.visible-sm{display:table-cell!important}.visible-sm-block{display:block!important}.visible-sm-inline{display:inline!important}.visible-sm-inline-block{display:inline-block!important}.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}th.visible-md,td.visible-md{display:table-cell!important}.visible-md-block{display:block!important}.visible-md-inline{display:inline!important}.visible-md-inline-block{display:inline-block!important}.hidden-md{display:none!important}}
+service-map{width:100%;height:100px;display:block}service-map .node rect{fill:#fff;stroke-width:2px}service-map .node.uni rect{stroke:#ce5650}service-map .node.uni path{fill:#902d28}service-map .node.service rect{stroke:#337ab7}service-map .node.service path{fill:#1d4568}service-map .node text{font:12px sans-serif}service-map .link{fill:none;stroke:#ccc;stroke-width:1}
diff --git a/xos/core/xoslib/static/js/vendor/xosEcordTopologyVendor.js b/xos/core/xoslib/static/js/vendor/xosEcordTopologyVendor.js
new file mode 100644
index 0000000..11b57c0
--- /dev/null
+++ b/xos/core/xoslib/static/js/vendor/xosEcordTopologyVendor.js
@@ -0,0 +1,5 @@
+if(function(t,e){"object"==typeof module&&"object"==typeof module.exports?module.exports=t.document?e(t,!0):function(t){if(!t.document)throw new Error("jQuery requires a window with a document");return e(t)}:e(t)}("undefined"!=typeof window?window:this,function(t,e){function n(t){var e="length"in t&&t.length,n=Z.type(t);return"function"!==n&&!Z.isWindow(t)&&(!(1!==t.nodeType||!e)||("array"===n||0===e||"number"==typeof e&&e>0&&e-1 in t))}function i(t,e,n){if(Z.isFunction(e))return Z.grep(t,function(t,i){return!!e.call(t,i,t)!==n});if(e.nodeType)return Z.grep(t,function(t){return t===e!==n});if("string"==typeof e){if(at.test(e))return Z.filter(e,t,n);e=Z.filter(e,t)}return Z.grep(t,function(t){return z.call(e,t)>=0!==n})}function o(t,e){for(;(t=t[e])&&1!==t.nodeType;);return t}function r(t){var e=ht[t]={};return Z.each(t.match(dt)||[],function(t,n){e[n]=!0}),e}function s(){J.removeEventListener("DOMContentLoaded",s,!1),t.removeEventListener("load",s,!1),Z.ready()}function a(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=Z.expando+a.uid++}function l(t,e,n){var i;if(void 0===n&&1===t.nodeType)if(i="data-"+e.replace(xt,"-$1").toLowerCase(),n=t.getAttribute(i),"string"==typeof n){try{n="true"===n||"false"!==n&&("null"===n?null:+n+""===n?+n:bt.test(n)?Z.parseJSON(n):n)}catch(o){}yt.set(t,e,n)}else n=void 0;return n}function c(){return!0}function u(){return!1}function f(){try{return J.activeElement}catch(t){}}function p(t,e){return Z.nodeName(t,"table")&&Z.nodeName(11!==e.nodeType?e:e.firstChild,"tr")?t.getElementsByTagName("tbody")[0]||t.appendChild(t.ownerDocument.createElement("tbody")):t}function d(t){return t.type=(null!==t.getAttribute("type"))+"/"+t.type,t}function h(t){var e=Pt.exec(t.type);return e?t.type=e[1]:t.removeAttribute("type"),t}function g(t,e){for(var n=0,i=t.length;n<i;n++)vt.set(t[n],"globalEval",!e||vt.get(e[n],"globalEval"))}function m(t,e){var n,i,o,r,s,a,l,c;if(1===e.nodeType){if(vt.hasData(t)&&(r=vt.access(t),s=vt.set(e,r),c=r.events)){delete s.handle,s.events={};for(o in c)for(n=0,i=c[o].length;n<i;n++)Z.event.add(e,o,c[o][n])}yt.hasData(t)&&(a=yt.access(t),l=Z.extend({},a),yt.set(e,l))}}function v(t,e){var n=t.getElementsByTagName?t.getElementsByTagName(e||"*"):t.querySelectorAll?t.querySelectorAll(e||"*"):[];return void 0===e||e&&Z.nodeName(t,e)?Z.merge([t],n):n}function y(t,e){var n=e.nodeName.toLowerCase();"input"===n&&Et.test(t.type)?e.checked=t.checked:"input"!==n&&"textarea"!==n||(e.defaultValue=t.defaultValue)}function b(e,n){var i,o=Z(n.createElement(e)).appendTo(n.body),r=t.getDefaultComputedStyle&&(i=t.getDefaultComputedStyle(o[0]))?i.display:Z.css(o[0],"display");return o.detach(),r}function x(t){var e=J,n=Mt[t];return n||(n=b(t,e),"none"!==n&&n||(Ft=(Ft||Z("<iframe frameborder='0' width='0' height='0'/>")).appendTo(e.documentElement),e=Ft[0].contentDocument,e.write(),e.close(),n=b(t,e),Ft.detach()),Mt[t]=n),n}function w(t,e,n){var i,o,r,s,a=t.style;return n=n||Bt(t),n&&(s=n.getPropertyValue(e)||n[e]),n&&(""!==s||Z.contains(t.ownerDocument,t)||(s=Z.style(t,e)),_t.test(s)&&Wt.test(e)&&(i=a.width,o=a.minWidth,r=a.maxWidth,a.minWidth=a.maxWidth=a.width=s,s=n.width,a.width=i,a.minWidth=o,a.maxWidth=r)),void 0!==s?s+"":s}function T(t,e){return{get:function(){return t()?void delete this.get:(this.get=e).apply(this,arguments)}}}function C(t,e){if(e in t)return e;for(var n=e[0].toUpperCase()+e.slice(1),i=e,o=Gt.length;o--;)if(e=Gt[o]+n,e in t)return e;return i}function E(t,e,n){var i=Vt.exec(e);return i?Math.max(0,i[1]-(n||0))+(i[2]||"px"):e}function $(t,e,n,i,o){for(var r=n===(i?"border":"content")?4:"width"===e?1:0,s=0;r<4;r+=2)"margin"===n&&(s+=Z.css(t,n+Tt[r],!0,o)),i?("content"===n&&(s-=Z.css(t,"padding"+Tt[r],!0,o)),"margin"!==n&&(s-=Z.css(t,"border"+Tt[r]+"Width",!0,o))):(s+=Z.css(t,"padding"+Tt[r],!0,o),"padding"!==n&&(s+=Z.css(t,"border"+Tt[r]+"Width",!0,o)));return s}function k(t,e,n){var i=!0,o="width"===e?t.offsetWidth:t.offsetHeight,r=Bt(t),s="border-box"===Z.css(t,"boxSizing",!1,r);if(o<=0||null==o){if(o=w(t,e,r),(o<0||null==o)&&(o=t.style[e]),_t.test(o))return o;i=s&&(Y.boxSizingReliable()||o===t.style[e]),o=parseFloat(o)||0}return o+$(t,e,n||(s?"border":"content"),i,r)+"px"}function S(t,e){for(var n,i,o,r=[],s=0,a=t.length;s<a;s++)i=t[s],i.style&&(r[s]=vt.get(i,"olddisplay"),n=i.style.display,e?(r[s]||"none"!==n||(i.style.display=""),""===i.style.display&&Ct(i)&&(r[s]=vt.access(i,"olddisplay",x(i.nodeName)))):(o=Ct(i),"none"===n&&o||vt.set(i,"olddisplay",o?n:Z.css(i,"display"))));for(s=0;s<a;s++)i=t[s],i.style&&(e&&"none"!==i.style.display&&""!==i.style.display||(i.style.display=e?r[s]||"":"none"));return t}function N(t,e,n,i,o){return new N.prototype.init(t,e,n,i,o)}function D(){return setTimeout(function(){Yt=void 0}),Yt=Z.now()}function A(t,e){var n,i=0,o={height:t};for(e=e?1:0;i<4;i+=2-e)n=Tt[i],o["margin"+n]=o["padding"+n]=t;return e&&(o.opacity=o.width=t),o}function j(t,e,n){for(var i,o=(ne[e]||[]).concat(ne["*"]),r=0,s=o.length;r<s;r++)if(i=o[r].call(n,e,t))return i}function O(t,e,n){var i,o,r,s,a,l,c,u,f=this,p={},d=t.style,h=t.nodeType&&Ct(t),g=vt.get(t,"fxshow");n.queue||(a=Z._queueHooks(t,"fx"),null==a.unqueued&&(a.unqueued=0,l=a.empty.fire,a.empty.fire=function(){a.unqueued||l()}),a.unqueued++,f.always(function(){f.always(function(){a.unqueued--,Z.queue(t,"fx").length||a.empty.fire()})})),1===t.nodeType&&("height"in e||"width"in e)&&(n.overflow=[d.overflow,d.overflowX,d.overflowY],c=Z.css(t,"display"),u="none"===c?vt.get(t,"olddisplay")||x(t.nodeName):c,"inline"===u&&"none"===Z.css(t,"float")&&(d.display="inline-block")),n.overflow&&(d.overflow="hidden",f.always(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]}));for(i in e)if(o=e[i],Kt.exec(o)){if(delete e[i],r=r||"toggle"===o,o===(h?"hide":"show")){if("show"!==o||!g||void 0===g[i])continue;h=!0}p[i]=g&&g[i]||Z.style(t,i)}else c=void 0;if(Z.isEmptyObject(p))"inline"===("none"===c?x(t.nodeName):c)&&(d.display=c);else{g?"hidden"in g&&(h=g.hidden):g=vt.access(t,"fxshow",{}),r&&(g.hidden=!h),h?Z(t).show():f.done(function(){Z(t).hide()}),f.done(function(){var e;vt.remove(t,"fxshow");for(e in p)Z.style(t,e,p[e])});for(i in p)s=j(h?g[i]:0,i,f),i in g||(g[i]=s.start,h&&(s.end=s.start,s.start="width"===i||"height"===i?1:0))}}function I(t,e){var n,i,o,r,s;for(n in t)if(i=Z.camelCase(n),o=e[i],r=t[n],Z.isArray(r)&&(o=r[1],r=t[n]=r[0]),n!==i&&(t[i]=r,delete t[n]),s=Z.cssHooks[i],s&&"expand"in s){r=s.expand(r),delete t[i];for(n in r)n in t||(t[n]=r[n],e[n]=o)}else e[i]=o}function L(t,e,n){var i,o,r=0,s=ee.length,a=Z.Deferred().always(function(){delete l.elem}),l=function(){if(o)return!1;for(var e=Yt||D(),n=Math.max(0,c.startTime+c.duration-e),i=n/c.duration||0,r=1-i,s=0,l=c.tweens.length;s<l;s++)c.tweens[s].run(r);return a.notifyWith(t,[c,r,n]),r<1&&l?n:(a.resolveWith(t,[c]),!1)},c=a.promise({elem:t,props:Z.extend({},e),opts:Z.extend(!0,{specialEasing:{}},n),originalProperties:e,originalOptions:n,startTime:Yt||D(),duration:n.duration,tweens:[],createTween:function(e,n){var i=Z.Tween(t,c.opts,e,n,c.opts.specialEasing[e]||c.opts.easing);return c.tweens.push(i),i},stop:function(e){var n=0,i=e?c.tweens.length:0;if(o)return this;for(o=!0;n<i;n++)c.tweens[n].run(1);return e?a.resolveWith(t,[c,e]):a.rejectWith(t,[c,e]),this}}),u=c.props;for(I(u,c.opts.specialEasing);r<s;r++)if(i=ee[r].call(c,t,u,c.opts))return i;return Z.map(u,j,c),Z.isFunction(c.opts.start)&&c.opts.start.call(t,c),Z.fx.timer(Z.extend(l,{elem:t,anim:c,queue:c.opts.queue})),c.progress(c.opts.progress).done(c.opts.done,c.opts.complete).fail(c.opts.fail).always(c.opts.always)}function R(t){return function(e,n){"string"!=typeof e&&(n=e,e="*");var i,o=0,r=e.toLowerCase().match(dt)||[];if(Z.isFunction(n))for(;i=r[o++];)"+"===i[0]?(i=i.slice(1)||"*",(t[i]=t[i]||[]).unshift(n)):(t[i]=t[i]||[]).push(n)}}function P(t,e,n,i){function o(a){var l;return r[a]=!0,Z.each(t[a]||[],function(t,a){var c=a(e,n,i);return"string"!=typeof c||s||r[c]?s?!(l=c):void 0:(e.dataTypes.unshift(c),o(c),!1)}),l}var r={},s=t===be;return o(e.dataTypes[0])||!r["*"]&&o("*")}function q(t,e){var n,i,o=Z.ajaxSettings.flatOptions||{};for(n in e)void 0!==e[n]&&((o[n]?t:i||(i={}))[n]=e[n]);return i&&Z.extend(!0,t,i),t}function H(t,e,n){for(var i,o,r,s,a=t.contents,l=t.dataTypes;"*"===l[0];)l.shift(),void 0===i&&(i=t.mimeType||e.getResponseHeader("Content-Type"));if(i)for(o in a)if(a[o]&&a[o].test(i)){l.unshift(o);break}if(l[0]in n)r=l[0];else{for(o in n){if(!l[0]||t.converters[o+" "+l[0]]){r=o;break}s||(s=o)}r=r||s}if(r)return r!==l[0]&&l.unshift(r),n[r]}function F(t,e,n,i){var o,r,s,a,l,c={},u=t.dataTypes.slice();if(u[1])for(s in t.converters)c[s.toLowerCase()]=t.converters[s];for(r=u.shift();r;)if(t.responseFields[r]&&(n[t.responseFields[r]]=e),!l&&i&&t.dataFilter&&(e=t.dataFilter(e,t.dataType)),l=r,r=u.shift())if("*"===r)r=l;else if("*"!==l&&l!==r){if(s=c[l+" "+r]||c["* "+r],!s)for(o in c)if(a=o.split(" "),a[1]===r&&(s=c[l+" "+a[0]]||c["* "+a[0]])){s===!0?s=c[o]:c[o]!==!0&&(r=a[0],u.unshift(a[1]));break}if(s!==!0)if(s&&t["throws"])e=s(e);else try{e=s(e)}catch(f){return{state:"parsererror",error:s?f:"No conversion from "+l+" to "+r}}}return{state:"success",data:e}}function M(t,e,n,i){var o;if(Z.isArray(e))Z.each(e,function(e,o){n||Ee.test(t)?i(t,o):M(t+"["+("object"==typeof o?e:"")+"]",o,n,i)});else if(n||"object"!==Z.type(e))i(t,e);else for(o in e)M(t+"["+o+"]",e[o],n,i)}function W(t){return Z.isWindow(t)?t:9===t.nodeType&&t.defaultView}var _=[],B=_.slice,U=_.concat,V=_.push,z=_.indexOf,X={},Q=X.toString,G=X.hasOwnProperty,Y={},J=t.document,K="2.1.4",Z=function(t,e){return new Z.fn.init(t,e)},tt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,et=/^-ms-/,nt=/-([\da-z])/gi,it=function(t,e){return e.toUpperCase()};Z.fn=Z.prototype={jquery:K,constructor:Z,selector:"",length:0,toArray:function(){return B.call(this)},get:function(t){return null!=t?t<0?this[t+this.length]:this[t]:B.call(this)},pushStack:function(t){var e=Z.merge(this.constructor(),t);return e.prevObject=this,e.context=this.context,e},each:function(t,e){return Z.each(this,t,e)},map:function(t){return this.pushStack(Z.map(this,function(e,n){return t.call(e,n,e)}))},slice:function(){return this.pushStack(B.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(t){var e=this.length,n=+t+(t<0?e:0);return this.pushStack(n>=0&&n<e?[this[n]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:V,sort:_.sort,splice:_.splice},Z.extend=Z.fn.extend=function(){var t,e,n,i,o,r,s=arguments[0]||{},a=1,l=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[a]||{},a++),"object"==typeof s||Z.isFunction(s)||(s={}),a===l&&(s=this,a--);a<l;a++)if(null!=(t=arguments[a]))for(e in t)n=s[e],i=t[e],s!==i&&(c&&i&&(Z.isPlainObject(i)||(o=Z.isArray(i)))?(o?(o=!1,r=n&&Z.isArray(n)?n:[]):r=n&&Z.isPlainObject(n)?n:{},s[e]=Z.extend(c,r,i)):void 0!==i&&(s[e]=i));return s},Z.extend({expando:"jQuery"+(K+Math.random()).replace(/\D/g,""),isReady:!0,error:function(t){throw new Error(t)},noop:function(){},isFunction:function(t){return"function"===Z.type(t)},isArray:Array.isArray,isWindow:function(t){return null!=t&&t===t.window},isNumeric:function(t){return!Z.isArray(t)&&t-parseFloat(t)+1>=0},isPlainObject:function(t){return"object"===Z.type(t)&&!t.nodeType&&!Z.isWindow(t)&&!(t.constructor&&!G.call(t.constructor.prototype,"isPrototypeOf"))},isEmptyObject:function(t){var e;for(e in t)return!1;return!0},type:function(t){return null==t?t+"":"object"==typeof t||"function"==typeof t?X[Q.call(t)]||"object":typeof t},globalEval:function(t){var e,n=eval;t=Z.trim(t),t&&(1===t.indexOf("use strict")?(e=J.createElement("script"),e.text=t,J.head.appendChild(e).parentNode.removeChild(e)):n(t))},camelCase:function(t){return t.replace(et,"ms-").replace(nt,it)},nodeName:function(t,e){return t.nodeName&&t.nodeName.toLowerCase()===e.toLowerCase()},each:function(t,e,i){var o,r=0,s=t.length,a=n(t);if(i){if(a)for(;r<s&&(o=e.apply(t[r],i),o!==!1);r++);else for(r in t)if(o=e.apply(t[r],i),o===!1)break}else if(a)for(;r<s&&(o=e.call(t[r],r,t[r]),o!==!1);r++);else for(r in t)if(o=e.call(t[r],r,t[r]),o===!1)break;return t},trim:function(t){return null==t?"":(t+"").replace(tt,"")},makeArray:function(t,e){var i=e||[];return null!=t&&(n(Object(t))?Z.merge(i,"string"==typeof t?[t]:t):V.call(i,t)),i},inArray:function(t,e,n){return null==e?-1:z.call(e,t,n)},merge:function(t,e){for(var n=+e.length,i=0,o=t.length;i<n;i++)t[o++]=e[i];return t.length=o,t},grep:function(t,e,n){for(var i,o=[],r=0,s=t.length,a=!n;r<s;r++)i=!e(t[r],r),i!==a&&o.push(t[r]);return o},map:function(t,e,i){var o,r=0,s=t.length,a=n(t),l=[];if(a)for(;r<s;r++)o=e(t[r],r,i),null!=o&&l.push(o);else for(r in t)o=e(t[r],r,i),null!=o&&l.push(o);return U.apply([],l)},guid:1,proxy:function(t,e){var n,i,o;if("string"==typeof e&&(n=t[e],e=t,t=n),Z.isFunction(t))return i=B.call(arguments,2),o=function(){return t.apply(e||this,i.concat(B.call(arguments)))},o.guid=t.guid=t.guid||Z.guid++,o},now:Date.now,support:Y}),Z.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(t,e){X["[object "+e+"]"]=e.toLowerCase()});var ot=function(t){function e(t,e,n,i){var o,r,s,a,l,c,f,d,h,g;if((e?e.ownerDocument||e:M)!==O&&j(e),e=e||O,n=n||[],a=e.nodeType,"string"!=typeof t||!t||1!==a&&9!==a&&11!==a)return n;if(!i&&L){if(11!==a&&(o=yt.exec(t)))if(s=o[1]){if(9===a){if(r=e.getElementById(s),!r||!r.parentNode)return n;if(r.id===s)return n.push(r),n}else if(e.ownerDocument&&(r=e.ownerDocument.getElementById(s))&&H(e,r)&&r.id===s)return n.push(r),n}else{if(o[2])return K.apply(n,e.getElementsByTagName(t)),n;if((s=o[3])&&w.getElementsByClassName)return K.apply(n,e.getElementsByClassName(s)),n}if(w.qsa&&(!R||!R.test(t))){if(d=f=F,h=e,g=1!==a&&t,1===a&&"object"!==e.nodeName.toLowerCase()){for(c=$(t),(f=e.getAttribute("id"))?d=f.replace(xt,"\\$&"):e.setAttribute("id",d),d="[id='"+d+"'] ",l=c.length;l--;)c[l]=d+p(c[l]);h=bt.test(t)&&u(e.parentNode)||e,g=c.join(",")}if(g)try{return K.apply(n,h.querySelectorAll(g)),n}catch(m){}finally{f||e.removeAttribute("id")}}}return S(t.replace(lt,"$1"),e,n,i)}function n(){function t(n,i){return e.push(n+" ")>T.cacheLength&&delete t[e.shift()],t[n+" "]=i}var e=[];return t}function i(t){return t[F]=!0,t}function o(t){var e=O.createElement("div");try{return!!t(e)}catch(n){return!1}finally{e.parentNode&&e.parentNode.removeChild(e),e=null}}function r(t,e){for(var n=t.split("|"),i=t.length;i--;)T.attrHandle[n[i]]=e}function s(t,e){var n=e&&t,i=n&&1===t.nodeType&&1===e.nodeType&&(~e.sourceIndex||X)-(~t.sourceIndex||X);if(i)return i;if(n)for(;n=n.nextSibling;)if(n===e)return-1;return t?1:-1}function a(t){return function(e){var n=e.nodeName.toLowerCase();return"input"===n&&e.type===t}}function l(t){return function(e){var n=e.nodeName.toLowerCase();return("input"===n||"button"===n)&&e.type===t}}function c(t){return i(function(e){return e=+e,i(function(n,i){for(var o,r=t([],n.length,e),s=r.length;s--;)n[o=r[s]]&&(n[o]=!(i[o]=n[o]))})})}function u(t){return t&&"undefined"!=typeof t.getElementsByTagName&&t}function f(){}function p(t){for(var e=0,n=t.length,i="";e<n;e++)i+=t[e].value;return i}function d(t,e,n){var i=e.dir,o=n&&"parentNode"===i,r=_++;return e.first?function(e,n,r){for(;e=e[i];)if(1===e.nodeType||o)return t(e,n,r)}:function(e,n,s){var a,l,c=[W,r];if(s){for(;e=e[i];)if((1===e.nodeType||o)&&t(e,n,s))return!0}else for(;e=e[i];)if(1===e.nodeType||o){if(l=e[F]||(e[F]={}),(a=l[i])&&a[0]===W&&a[1]===r)return c[2]=a[2];if(l[i]=c,c[2]=t(e,n,s))return!0}}}function h(t){return t.length>1?function(e,n,i){for(var o=t.length;o--;)if(!t[o](e,n,i))return!1;return!0}:t[0]}function g(t,n,i){for(var o=0,r=n.length;o<r;o++)e(t,n[o],i);return i}function m(t,e,n,i,o){for(var r,s=[],a=0,l=t.length,c=null!=e;a<l;a++)(r=t[a])&&(n&&!n(r,i,o)||(s.push(r),c&&e.push(a)));return s}function v(t,e,n,o,r,s){return o&&!o[F]&&(o=v(o)),r&&!r[F]&&(r=v(r,s)),i(function(i,s,a,l){var c,u,f,p=[],d=[],h=s.length,v=i||g(e||"*",a.nodeType?[a]:a,[]),y=!t||!i&&e?v:m(v,p,t,a,l),b=n?r||(i?t:h||o)?[]:s:y;if(n&&n(y,b,a,l),o)for(c=m(b,d),o(c,[],a,l),u=c.length;u--;)(f=c[u])&&(b[d[u]]=!(y[d[u]]=f));if(i){if(r||t){if(r){for(c=[],u=b.length;u--;)(f=b[u])&&c.push(y[u]=f);r(null,b=[],c,l)}for(u=b.length;u--;)(f=b[u])&&(c=r?tt(i,f):p[u])>-1&&(i[c]=!(s[c]=f))}}else b=m(b===s?b.splice(h,b.length):b),r?r(null,s,b,l):K.apply(s,b)})}function y(t){for(var e,n,i,o=t.length,r=T.relative[t[0].type],s=r||T.relative[" "],a=r?1:0,l=d(function(t){return t===e},s,!0),c=d(function(t){return tt(e,t)>-1},s,!0),u=[function(t,n,i){var o=!r&&(i||n!==N)||((e=n).nodeType?l(t,n,i):c(t,n,i));return e=null,o}];a<o;a++)if(n=T.relative[t[a].type])u=[d(h(u),n)];else{if(n=T.filter[t[a].type].apply(null,t[a].matches),n[F]){for(i=++a;i<o&&!T.relative[t[i].type];i++);return v(a>1&&h(u),a>1&&p(t.slice(0,a-1).concat({value:" "===t[a-2].type?"*":""})).replace(lt,"$1"),n,a<i&&y(t.slice(a,i)),i<o&&y(t=t.slice(i)),i<o&&p(t))}u.push(n)}return h(u)}function b(t,n){var o=n.length>0,r=t.length>0,s=function(i,s,a,l,c){var u,f,p,d=0,h="0",g=i&&[],v=[],y=N,b=i||r&&T.find.TAG("*",c),x=W+=null==y?1:Math.random()||.1,w=b.length;for(c&&(N=s!==O&&s);h!==w&&null!=(u=b[h]);h++){if(r&&u){for(f=0;p=t[f++];)if(p(u,s,a)){l.push(u);break}c&&(W=x)}o&&((u=!p&&u)&&d--,i&&g.push(u))}if(d+=h,o&&h!==d){for(f=0;p=n[f++];)p(g,v,s,a);if(i){if(d>0)for(;h--;)g[h]||v[h]||(v[h]=Y.call(l));v=m(v)}K.apply(l,v),c&&!i&&v.length>0&&d+n.length>1&&e.uniqueSort(l)}return c&&(W=x,N=y),g};return o?i(s):s}var x,w,T,C,E,$,k,S,N,D,A,j,O,I,L,R,P,q,H,F="sizzle"+1*new Date,M=t.document,W=0,_=0,B=n(),U=n(),V=n(),z=function(t,e){return t===e&&(A=!0),0},X=1<<31,Q={}.hasOwnProperty,G=[],Y=G.pop,J=G.push,K=G.push,Z=G.slice,tt=function(t,e){for(var n=0,i=t.length;n<i;n++)if(t[n]===e)return n;return-1},et="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",nt="[\\x20\\t\\r\\n\\f]",it="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",ot=it.replace("w","w#"),rt="\\["+nt+"*("+it+")(?:"+nt+"*([*^$|!~]?=)"+nt+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+ot+"))|)"+nt+"*\\]",st=":("+it+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+rt+")*)|.*)\\)|)",at=new RegExp(nt+"+","g"),lt=new RegExp("^"+nt+"+|((?:^|[^\\\\])(?:\\\\.)*)"+nt+"+$","g"),ct=new RegExp("^"+nt+"*,"+nt+"*"),ut=new RegExp("^"+nt+"*([>+~]|"+nt+")"+nt+"*"),ft=new RegExp("="+nt+"*([^\\]'\"]*?)"+nt+"*\\]","g"),pt=new RegExp(st),dt=new RegExp("^"+ot+"$"),ht={ID:new RegExp("^#("+it+")"),CLASS:new RegExp("^\\.("+it+")"),TAG:new RegExp("^("+it.replace("w","w*")+")"),ATTR:new RegExp("^"+rt),PSEUDO:new RegExp("^"+st),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+nt+"*(even|odd|(([+-]|)(\\d*)n|)"+nt+"*(?:([+-]|)"+nt+"*(\\d+)|))"+nt+"*\\)|)","i"),bool:new RegExp("^(?:"+et+")$","i"),needsContext:new RegExp("^"+nt+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+nt+"*((?:-\\d)?\\d*)"+nt+"*\\)|)(?=[^-]|$)","i")},gt=/^(?:input|select|textarea|button)$/i,mt=/^h\d$/i,vt=/^[^{]+\{\s*\[native \w/,yt=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,bt=/[+~]/,xt=/'|\\/g,wt=new RegExp("\\\\([\\da-f]{1,6}"+nt+"?|("+nt+")|.)","ig"),Tt=function(t,e,n){var i="0x"+e-65536;return i!==i||n?e:i<0?String.fromCharCode(i+65536):String.fromCharCode(i>>10|55296,1023&i|56320)},Ct=function(){j()};try{K.apply(G=Z.call(M.childNodes),M.childNodes),G[M.childNodes.length].nodeType}catch(Et){K={apply:G.length?function(t,e){J.apply(t,Z.call(e))}:function(t,e){for(var n=t.length,i=0;t[n++]=e[i++];);t.length=n-1}}}w=e.support={},E=e.isXML=function(t){var e=t&&(t.ownerDocument||t).documentElement;return!!e&&"HTML"!==e.nodeName},j=e.setDocument=function(t){var e,n,i=t?t.ownerDocument||t:M;return i!==O&&9===i.nodeType&&i.documentElement?(O=i,I=i.documentElement,n=i.defaultView,n&&n!==n.top&&(n.addEventListener?n.addEventListener("unload",Ct,!1):n.attachEvent&&n.attachEvent("onunload",Ct)),L=!E(i),w.attributes=o(function(t){return t.className="i",!t.getAttribute("className")}),w.getElementsByTagName=o(function(t){return t.appendChild(i.createComment("")),!t.getElementsByTagName("*").length}),w.getElementsByClassName=vt.test(i.getElementsByClassName),w.getById=o(function(t){return I.appendChild(t).id=F,!i.getElementsByName||!i.getElementsByName(F).length}),w.getById?(T.find.ID=function(t,e){if("undefined"!=typeof e.getElementById&&L){var n=e.getElementById(t);return n&&n.parentNode?[n]:[]}},T.filter.ID=function(t){var e=t.replace(wt,Tt);return function(t){return t.getAttribute("id")===e}}):(delete T.find.ID,T.filter.ID=function(t){var e=t.replace(wt,Tt);return function(t){var n="undefined"!=typeof t.getAttributeNode&&t.getAttributeNode("id");return n&&n.value===e}}),T.find.TAG=w.getElementsByTagName?function(t,e){return"undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t):w.qsa?e.querySelectorAll(t):void 0}:function(t,e){var n,i=[],o=0,r=e.getElementsByTagName(t);if("*"===t){for(;n=r[o++];)1===n.nodeType&&i.push(n);return i}return r},T.find.CLASS=w.getElementsByClassName&&function(t,e){if(L)return e.getElementsByClassName(t)},P=[],R=[],(w.qsa=vt.test(i.querySelectorAll))&&(o(function(t){I.appendChild(t).innerHTML="<a id='"+F+"'></a><select id='"+F+"-\f]' msallowcapture=''><option selected=''></option></select>",t.querySelectorAll("[msallowcapture^='']").length&&R.push("[*^$]="+nt+"*(?:''|\"\")"),t.querySelectorAll("[selected]").length||R.push("\\["+nt+"*(?:value|"+et+")"),t.querySelectorAll("[id~="+F+"-]").length||R.push("~="),t.querySelectorAll(":checked").length||R.push(":checked"),t.querySelectorAll("a#"+F+"+*").length||R.push(".#.+[+~]")}),o(function(t){var e=i.createElement("input");e.setAttribute("type","hidden"),t.appendChild(e).setAttribute("name","D"),t.querySelectorAll("[name=d]").length&&R.push("name"+nt+"*[*^$|!~]?="),t.querySelectorAll(":enabled").length||R.push(":enabled",":disabled"),t.querySelectorAll("*,:x"),R.push(",.*:")})),(w.matchesSelector=vt.test(q=I.matches||I.webkitMatchesSelector||I.mozMatchesSelector||I.oMatchesSelector||I.msMatchesSelector))&&o(function(t){w.disconnectedMatch=q.call(t,"div"),q.call(t,"[s!='']:x"),P.push("!=",st)}),R=R.length&&new RegExp(R.join("|")),P=P.length&&new RegExp(P.join("|")),e=vt.test(I.compareDocumentPosition),H=e||vt.test(I.contains)?function(t,e){var n=9===t.nodeType?t.documentElement:t,i=e&&e.parentNode;return t===i||!(!i||1!==i.nodeType||!(n.contains?n.contains(i):t.compareDocumentPosition&&16&t.compareDocumentPosition(i)))}:function(t,e){if(e)for(;e=e.parentNode;)if(e===t)return!0;return!1},z=e?function(t,e){if(t===e)return A=!0,0;var n=!t.compareDocumentPosition-!e.compareDocumentPosition;return n?n:(n=(t.ownerDocument||t)===(e.ownerDocument||e)?t.compareDocumentPosition(e):1,1&n||!w.sortDetached&&e.compareDocumentPosition(t)===n?t===i||t.ownerDocument===M&&H(M,t)?-1:e===i||e.ownerDocument===M&&H(M,e)?1:D?tt(D,t)-tt(D,e):0:4&n?-1:1)}:function(t,e){if(t===e)return A=!0,0;var n,o=0,r=t.parentNode,a=e.parentNode,l=[t],c=[e];if(!r||!a)return t===i?-1:e===i?1:r?-1:a?1:D?tt(D,t)-tt(D,e):0;if(r===a)return s(t,e);for(n=t;n=n.parentNode;)l.unshift(n);for(n=e;n=n.parentNode;)c.unshift(n);for(;l[o]===c[o];)o++;return o?s(l[o],c[o]):l[o]===M?-1:c[o]===M?1:0},i):O},e.matches=function(t,n){return e(t,null,null,n)},e.matchesSelector=function(t,n){if((t.ownerDocument||t)!==O&&j(t),n=n.replace(ft,"='$1']"),w.matchesSelector&&L&&(!P||!P.test(n))&&(!R||!R.test(n)))try{var i=q.call(t,n);if(i||w.disconnectedMatch||t.document&&11!==t.document.nodeType)return i}catch(o){}return e(n,O,null,[t]).length>0},e.contains=function(t,e){return(t.ownerDocument||t)!==O&&j(t),H(t,e)},e.attr=function(t,e){(t.ownerDocument||t)!==O&&j(t);var n=T.attrHandle[e.toLowerCase()],i=n&&Q.call(T.attrHandle,e.toLowerCase())?n(t,e,!L):void 0;return void 0!==i?i:w.attributes||!L?t.getAttribute(e):(i=t.getAttributeNode(e))&&i.specified?i.value:null},e.error=function(t){throw new Error("Syntax error, unrecognized expression: "+t)},e.uniqueSort=function(t){var e,n=[],i=0,o=0;if(A=!w.detectDuplicates,D=!w.sortStable&&t.slice(0),t.sort(z),A){for(;e=t[o++];)e===t[o]&&(i=n.push(o));for(;i--;)t.splice(n[i],1)}return D=null,t},C=e.getText=function(t){var e,n="",i=0,o=t.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof t.textContent)return t.textContent;for(t=t.firstChild;t;t=t.nextSibling)n+=C(t)}else if(3===o||4===o)return t.nodeValue}else for(;e=t[i++];)n+=C(e);return n},T=e.selectors={cacheLength:50,createPseudo:i,match:ht,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(t){return t[1]=t[1].replace(wt,Tt),t[3]=(t[3]||t[4]||t[5]||"").replace(wt,Tt),"~="===t[2]&&(t[3]=" "+t[3]+" "),t.slice(0,4)},CHILD:function(t){return t[1]=t[1].toLowerCase(),"nth"===t[1].slice(0,3)?(t[3]||e.error(t[0]),t[4]=+(t[4]?t[5]+(t[6]||1):2*("even"===t[3]||"odd"===t[3])),t[5]=+(t[7]+t[8]||"odd"===t[3])):t[3]&&e.error(t[0]),t},PSEUDO:function(t){var e,n=!t[6]&&t[2];return ht.CHILD.test(t[0])?null:(t[3]?t[2]=t[4]||t[5]||"":n&&pt.test(n)&&(e=$(n,!0))&&(e=n.indexOf(")",n.length-e)-n.length)&&(t[0]=t[0].slice(0,e),t[2]=n.slice(0,e)),t.slice(0,3))}},filter:{TAG:function(t){var e=t.replace(wt,Tt).toLowerCase();return"*"===t?function(){return!0}:function(t){return t.nodeName&&t.nodeName.toLowerCase()===e}},CLASS:function(t){var e=B[t+" "];return e||(e=new RegExp("(^|"+nt+")"+t+"("+nt+"|$)"))&&B(t,function(t){return e.test("string"==typeof t.className&&t.className||"undefined"!=typeof t.getAttribute&&t.getAttribute("class")||"")})},ATTR:function(t,n,i){return function(o){var r=e.attr(o,t);return null==r?"!="===n:!n||(r+="","="===n?r===i:"!="===n?r!==i:"^="===n?i&&0===r.indexOf(i):"*="===n?i&&r.indexOf(i)>-1:"$="===n?i&&r.slice(-i.length)===i:"~="===n?(" "+r.replace(at," ")+" ").indexOf(i)>-1:"|="===n&&(r===i||r.slice(0,i.length+1)===i+"-"))}},CHILD:function(t,e,n,i,o){var r="nth"!==t.slice(0,3),s="last"!==t.slice(-4),a="of-type"===e;return 1===i&&0===o?function(t){return!!t.parentNode}:function(e,n,l){var c,u,f,p,d,h,g=r!==s?"nextSibling":"previousSibling",m=e.parentNode,v=a&&e.nodeName.toLowerCase(),y=!l&&!a;if(m){if(r){for(;g;){for(f=e;f=f[g];)if(a?f.nodeName.toLowerCase()===v:1===f.nodeType)return!1;h=g="only"===t&&!h&&"nextSibling"}return!0}if(h=[s?m.firstChild:m.lastChild],s&&y){for(u=m[F]||(m[F]={}),c=u[t]||[],d=c[0]===W&&c[1],p=c[0]===W&&c[2],f=d&&m.childNodes[d];f=++d&&f&&f[g]||(p=d=0)||h.pop();)if(1===f.nodeType&&++p&&f===e){u[t]=[W,d,p];break}}else if(y&&(c=(e[F]||(e[F]={}))[t])&&c[0]===W)p=c[1];else for(;(f=++d&&f&&f[g]||(p=d=0)||h.pop())&&((a?f.nodeName.toLowerCase()!==v:1!==f.nodeType)||!++p||(y&&((f[F]||(f[F]={}))[t]=[W,p]),f!==e)););return p-=o,p===i||p%i===0&&p/i>=0}}},PSEUDO:function(t,n){var o,r=T.pseudos[t]||T.setFilters[t.toLowerCase()]||e.error("unsupported pseudo: "+t);return r[F]?r(n):r.length>1?(o=[t,t,"",n],T.setFilters.hasOwnProperty(t.toLowerCase())?i(function(t,e){for(var i,o=r(t,n),s=o.length;s--;)i=tt(t,o[s]),t[i]=!(e[i]=o[s])}):function(t){return r(t,0,o)}):r}},pseudos:{not:i(function(t){var e=[],n=[],o=k(t.replace(lt,"$1"));return o[F]?i(function(t,e,n,i){for(var r,s=o(t,null,i,[]),a=t.length;a--;)(r=s[a])&&(t[a]=!(e[a]=r))}):function(t,i,r){return e[0]=t,o(e,null,r,n),e[0]=null,!n.pop()}}),has:i(function(t){return function(n){return e(t,n).length>0}}),contains:i(function(t){return t=t.replace(wt,Tt),function(e){return(e.textContent||e.innerText||C(e)).indexOf(t)>-1}}),lang:i(function(t){return dt.test(t||"")||e.error("unsupported lang: "+t),t=t.replace(wt,Tt).toLowerCase(),function(e){var n;do if(n=L?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return n=n.toLowerCase(),n===t||0===n.indexOf(t+"-");while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var n=t.location&&t.location.hash;return n&&n.slice(1)===e.id},root:function(t){return t===I},focus:function(t){return t===O.activeElement&&(!O.hasFocus||O.hasFocus())&&!!(t.type||t.href||~t.tabIndex)},enabled:function(t){return t.disabled===!1},disabled:function(t){return t.disabled===!0},checked:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&!!t.checked||"option"===e&&!!t.selected},selected:function(t){return t.parentNode&&t.parentNode.selectedIndex,t.selected===!0},empty:function(t){for(t=t.firstChild;t;t=t.nextSibling)if(t.nodeType<6)return!1;return!0},parent:function(t){return!T.pseudos.empty(t)},header:function(t){return mt.test(t.nodeName)},input:function(t){return gt.test(t.nodeName)},button:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&"button"===t.type||"button"===e},text:function(t){var e;return"input"===t.nodeName.toLowerCase()&&"text"===t.type&&(null==(e=t.getAttribute("type"))||"text"===e.toLowerCase())},first:c(function(){return[0]}),last:c(function(t,e){return[e-1]}),eq:c(function(t,e,n){return[n<0?n+e:n]}),even:c(function(t,e){for(var n=0;n<e;n+=2)t.push(n);return t}),odd:c(function(t,e){for(var n=1;n<e;n+=2)t.push(n);return t}),lt:c(function(t,e,n){for(var i=n<0?n+e:n;--i>=0;)t.push(i);return t}),gt:c(function(t,e,n){for(var i=n<0?n+e:n;++i<e;)t.push(i);return t})}},T.pseudos.nth=T.pseudos.eq;for(x in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})T.pseudos[x]=a(x);for(x in{submit:!0,reset:!0})T.pseudos[x]=l(x);return f.prototype=T.filters=T.pseudos,T.setFilters=new f,$=e.tokenize=function(t,n){var i,o,r,s,a,l,c,u=U[t+" "];if(u)return n?0:u.slice(0);for(a=t,l=[],c=T.preFilter;a;){i&&!(o=ct.exec(a))||(o&&(a=a.slice(o[0].length)||a),l.push(r=[])),i=!1,(o=ut.exec(a))&&(i=o.shift(),r.push({value:i,type:o[0].replace(lt," ")}),a=a.slice(i.length));for(s in T.filter)!(o=ht[s].exec(a))||c[s]&&!(o=c[s](o))||(i=o.shift(),r.push({value:i,type:s,matches:o}),a=a.slice(i.length));if(!i)break}return n?a.length:a?e.error(t):U(t,l).slice(0)},k=e.compile=function(t,e){var n,i=[],o=[],r=V[t+" "];if(!r){for(e||(e=$(t)),n=e.length;n--;)r=y(e[n]),r[F]?i.push(r):o.push(r);r=V(t,b(o,i)),r.selector=t}return r},S=e.select=function(t,e,n,i){var o,r,s,a,l,c="function"==typeof t&&t,f=!i&&$(t=c.selector||t);if(n=n||[],1===f.length){if(r=f[0]=f[0].slice(0),r.length>2&&"ID"===(s=r[0]).type&&w.getById&&9===e.nodeType&&L&&T.relative[r[1].type]){if(e=(T.find.ID(s.matches[0].replace(wt,Tt),e)||[])[0],!e)return n;c&&(e=e.parentNode),t=t.slice(r.shift().value.length)}for(o=ht.needsContext.test(t)?0:r.length;o--&&(s=r[o],!T.relative[a=s.type]);)if((l=T.find[a])&&(i=l(s.matches[0].replace(wt,Tt),bt.test(r[0].type)&&u(e.parentNode)||e))){if(r.splice(o,1),t=i.length&&p(r),!t)return K.apply(n,i),n;break}}return(c||k(t,f))(i,e,!L,n,bt.test(t)&&u(e.parentNode)||e),n},w.sortStable=F.split("").sort(z).join("")===F,w.detectDuplicates=!!A,j(),w.sortDetached=o(function(t){return 1&t.compareDocumentPosition(O.createElement("div"))}),o(function(t){return t.innerHTML="<a href='#'></a>","#"===t.firstChild.getAttribute("href")})||r("type|href|height|width",function(t,e,n){if(!n)return t.getAttribute(e,"type"===e.toLowerCase()?1:2)}),w.attributes&&o(function(t){return t.innerHTML="<input/>",t.firstChild.setAttribute("value",""),""===t.firstChild.getAttribute("value")})||r("value",function(t,e,n){if(!n&&"input"===t.nodeName.toLowerCase())return t.defaultValue}),o(function(t){return null==t.getAttribute("disabled")})||r(et,function(t,e,n){var i;if(!n)return t[e]===!0?e.toLowerCase():(i=t.getAttributeNode(e))&&i.specified?i.value:null}),e}(t);Z.find=ot,Z.expr=ot.selectors,Z.expr[":"]=Z.expr.pseudos,Z.unique=ot.uniqueSort,Z.text=ot.getText,Z.isXMLDoc=ot.isXML,Z.contains=ot.contains;var rt=Z.expr.match.needsContext,st=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,at=/^.[^:#\[\.,]*$/;Z.filter=function(t,e,n){var i=e[0];return n&&(t=":not("+t+")"),1===e.length&&1===i.nodeType?Z.find.matchesSelector(i,t)?[i]:[]:Z.find.matches(t,Z.grep(e,function(t){return 1===t.nodeType}))},Z.fn.extend({find:function(t){var e,n=this.length,i=[],o=this;if("string"!=typeof t)return this.pushStack(Z(t).filter(function(){
+for(e=0;e<n;e++)if(Z.contains(o[e],this))return!0}));for(e=0;e<n;e++)Z.find(t,o[e],i);return i=this.pushStack(n>1?Z.unique(i):i),i.selector=this.selector?this.selector+" "+t:t,i},filter:function(t){return this.pushStack(i(this,t||[],!1))},not:function(t){return this.pushStack(i(this,t||[],!0))},is:function(t){return!!i(this,"string"==typeof t&&rt.test(t)?Z(t):t||[],!1).length}});var lt,ct=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,ut=Z.fn.init=function(t,e){var n,i;if(!t)return this;if("string"==typeof t){if(n="<"===t[0]&&">"===t[t.length-1]&&t.length>=3?[null,t,null]:ct.exec(t),!n||!n[1]&&e)return!e||e.jquery?(e||lt).find(t):this.constructor(e).find(t);if(n[1]){if(e=e instanceof Z?e[0]:e,Z.merge(this,Z.parseHTML(n[1],e&&e.nodeType?e.ownerDocument||e:J,!0)),st.test(n[1])&&Z.isPlainObject(e))for(n in e)Z.isFunction(this[n])?this[n](e[n]):this.attr(n,e[n]);return this}return i=J.getElementById(n[2]),i&&i.parentNode&&(this.length=1,this[0]=i),this.context=J,this.selector=t,this}return t.nodeType?(this.context=this[0]=t,this.length=1,this):Z.isFunction(t)?"undefined"!=typeof lt.ready?lt.ready(t):t(Z):(void 0!==t.selector&&(this.selector=t.selector,this.context=t.context),Z.makeArray(t,this))};ut.prototype=Z.fn,lt=Z(J);var ft=/^(?:parents|prev(?:Until|All))/,pt={children:!0,contents:!0,next:!0,prev:!0};Z.extend({dir:function(t,e,n){for(var i=[],o=void 0!==n;(t=t[e])&&9!==t.nodeType;)if(1===t.nodeType){if(o&&Z(t).is(n))break;i.push(t)}return i},sibling:function(t,e){for(var n=[];t;t=t.nextSibling)1===t.nodeType&&t!==e&&n.push(t);return n}}),Z.fn.extend({has:function(t){var e=Z(t,this),n=e.length;return this.filter(function(){for(var t=0;t<n;t++)if(Z.contains(this,e[t]))return!0})},closest:function(t,e){for(var n,i=0,o=this.length,r=[],s=rt.test(t)||"string"!=typeof t?Z(t,e||this.context):0;i<o;i++)for(n=this[i];n&&n!==e;n=n.parentNode)if(n.nodeType<11&&(s?s.index(n)>-1:1===n.nodeType&&Z.find.matchesSelector(n,t))){r.push(n);break}return this.pushStack(r.length>1?Z.unique(r):r)},index:function(t){return t?"string"==typeof t?z.call(Z(t),this[0]):z.call(this,t.jquery?t[0]:t):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(t,e){return this.pushStack(Z.unique(Z.merge(this.get(),Z(t,e))))},addBack:function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}}),Z.each({parent:function(t){var e=t.parentNode;return e&&11!==e.nodeType?e:null},parents:function(t){return Z.dir(t,"parentNode")},parentsUntil:function(t,e,n){return Z.dir(t,"parentNode",n)},next:function(t){return o(t,"nextSibling")},prev:function(t){return o(t,"previousSibling")},nextAll:function(t){return Z.dir(t,"nextSibling")},prevAll:function(t){return Z.dir(t,"previousSibling")},nextUntil:function(t,e,n){return Z.dir(t,"nextSibling",n)},prevUntil:function(t,e,n){return Z.dir(t,"previousSibling",n)},siblings:function(t){return Z.sibling((t.parentNode||{}).firstChild,t)},children:function(t){return Z.sibling(t.firstChild)},contents:function(t){return t.contentDocument||Z.merge([],t.childNodes)}},function(t,e){Z.fn[t]=function(n,i){var o=Z.map(this,e,n);return"Until"!==t.slice(-5)&&(i=n),i&&"string"==typeof i&&(o=Z.filter(i,o)),this.length>1&&(pt[t]||Z.unique(o),ft.test(t)&&o.reverse()),this.pushStack(o)}});var dt=/\S+/g,ht={};Z.Callbacks=function(t){t="string"==typeof t?ht[t]||r(t):Z.extend({},t);var e,n,i,o,s,a,l=[],c=!t.once&&[],u=function(r){for(e=t.memory&&r,n=!0,a=o||0,o=0,s=l.length,i=!0;l&&a<s;a++)if(l[a].apply(r[0],r[1])===!1&&t.stopOnFalse){e=!1;break}i=!1,l&&(c?c.length&&u(c.shift()):e?l=[]:f.disable())},f={add:function(){if(l){var n=l.length;!function r(e){Z.each(e,function(e,n){var i=Z.type(n);"function"===i?t.unique&&f.has(n)||l.push(n):n&&n.length&&"string"!==i&&r(n)})}(arguments),i?s=l.length:e&&(o=n,u(e))}return this},remove:function(){return l&&Z.each(arguments,function(t,e){for(var n;(n=Z.inArray(e,l,n))>-1;)l.splice(n,1),i&&(n<=s&&s--,n<=a&&a--)}),this},has:function(t){return t?Z.inArray(t,l)>-1:!(!l||!l.length)},empty:function(){return l=[],s=0,this},disable:function(){return l=c=e=void 0,this},disabled:function(){return!l},lock:function(){return c=void 0,e||f.disable(),this},locked:function(){return!c},fireWith:function(t,e){return!l||n&&!c||(e=e||[],e=[t,e.slice?e.slice():e],i?c.push(e):u(e)),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!n}};return f},Z.extend({Deferred:function(t){var e=[["resolve","done",Z.Callbacks("once memory"),"resolved"],["reject","fail",Z.Callbacks("once memory"),"rejected"],["notify","progress",Z.Callbacks("memory")]],n="pending",i={state:function(){return n},always:function(){return o.done(arguments).fail(arguments),this},then:function(){var t=arguments;return Z.Deferred(function(n){Z.each(e,function(e,r){var s=Z.isFunction(t[e])&&t[e];o[r[1]](function(){var t=s&&s.apply(this,arguments);t&&Z.isFunction(t.promise)?t.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[r[0]+"With"](this===i?n.promise():this,s?[t]:arguments)})}),t=null}).promise()},promise:function(t){return null!=t?Z.extend(t,i):i}},o={};return i.pipe=i.then,Z.each(e,function(t,r){var s=r[2],a=r[3];i[r[1]]=s.add,a&&s.add(function(){n=a},e[1^t][2].disable,e[2][2].lock),o[r[0]]=function(){return o[r[0]+"With"](this===o?i:this,arguments),this},o[r[0]+"With"]=s.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(t){var e,n,i,o=0,r=B.call(arguments),s=r.length,a=1!==s||t&&Z.isFunction(t.promise)?s:0,l=1===a?t:Z.Deferred(),c=function(t,n,i){return function(o){n[t]=this,i[t]=arguments.length>1?B.call(arguments):o,i===e?l.notifyWith(n,i):--a||l.resolveWith(n,i)}};if(s>1)for(e=new Array(s),n=new Array(s),i=new Array(s);o<s;o++)r[o]&&Z.isFunction(r[o].promise)?r[o].promise().done(c(o,i,r)).fail(l.reject).progress(c(o,n,e)):--a;return a||l.resolveWith(i,r),l.promise()}});var gt;Z.fn.ready=function(t){return Z.ready.promise().done(t),this},Z.extend({isReady:!1,readyWait:1,holdReady:function(t){t?Z.readyWait++:Z.ready(!0)},ready:function(t){(t===!0?--Z.readyWait:Z.isReady)||(Z.isReady=!0,t!==!0&&--Z.readyWait>0||(gt.resolveWith(J,[Z]),Z.fn.triggerHandler&&(Z(J).triggerHandler("ready"),Z(J).off("ready"))))}}),Z.ready.promise=function(e){return gt||(gt=Z.Deferred(),"complete"===J.readyState?setTimeout(Z.ready):(J.addEventListener("DOMContentLoaded",s,!1),t.addEventListener("load",s,!1))),gt.promise(e)},Z.ready.promise();var mt=Z.access=function(t,e,n,i,o,r,s){var a=0,l=t.length,c=null==n;if("object"===Z.type(n)){o=!0;for(a in n)Z.access(t,e,a,n[a],!0,r,s)}else if(void 0!==i&&(o=!0,Z.isFunction(i)||(s=!0),c&&(s?(e.call(t,i),e=null):(c=e,e=function(t,e,n){return c.call(Z(t),n)})),e))for(;a<l;a++)e(t[a],n,s?i:i.call(t[a],a,e(t[a],n)));return o?t:c?e.call(t):l?e(t[0],n):r};Z.acceptData=function(t){return 1===t.nodeType||9===t.nodeType||!+t.nodeType},a.uid=1,a.accepts=Z.acceptData,a.prototype={key:function(t){if(!a.accepts(t))return 0;var e={},n=t[this.expando];if(!n){n=a.uid++;try{e[this.expando]={value:n},Object.defineProperties(t,e)}catch(i){e[this.expando]=n,Z.extend(t,e)}}return this.cache[n]||(this.cache[n]={}),n},set:function(t,e,n){var i,o=this.key(t),r=this.cache[o];if("string"==typeof e)r[e]=n;else if(Z.isEmptyObject(r))Z.extend(this.cache[o],e);else for(i in e)r[i]=e[i];return r},get:function(t,e){var n=this.cache[this.key(t)];return void 0===e?n:n[e]},access:function(t,e,n){var i;return void 0===e||e&&"string"==typeof e&&void 0===n?(i=this.get(t,e),void 0!==i?i:this.get(t,Z.camelCase(e))):(this.set(t,e,n),void 0!==n?n:e)},remove:function(t,e){var n,i,o,r=this.key(t),s=this.cache[r];if(void 0===e)this.cache[r]={};else{Z.isArray(e)?i=e.concat(e.map(Z.camelCase)):(o=Z.camelCase(e),e in s?i=[e,o]:(i=o,i=i in s?[i]:i.match(dt)||[])),n=i.length;for(;n--;)delete s[i[n]]}},hasData:function(t){return!Z.isEmptyObject(this.cache[t[this.expando]]||{})},discard:function(t){t[this.expando]&&delete this.cache[t[this.expando]]}};var vt=new a,yt=new a,bt=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,xt=/([A-Z])/g;Z.extend({hasData:function(t){return yt.hasData(t)||vt.hasData(t)},data:function(t,e,n){return yt.access(t,e,n)},removeData:function(t,e){yt.remove(t,e)},_data:function(t,e,n){return vt.access(t,e,n)},_removeData:function(t,e){vt.remove(t,e)}}),Z.fn.extend({data:function(t,e){var n,i,o,r=this[0],s=r&&r.attributes;if(void 0===t){if(this.length&&(o=yt.get(r),1===r.nodeType&&!vt.get(r,"hasDataAttrs"))){for(n=s.length;n--;)s[n]&&(i=s[n].name,0===i.indexOf("data-")&&(i=Z.camelCase(i.slice(5)),l(r,i,o[i])));vt.set(r,"hasDataAttrs",!0)}return o}return"object"==typeof t?this.each(function(){yt.set(this,t)}):mt(this,function(e){var n,i=Z.camelCase(t);if(r&&void 0===e){if(n=yt.get(r,t),void 0!==n)return n;if(n=yt.get(r,i),void 0!==n)return n;if(n=l(r,i,void 0),void 0!==n)return n}else this.each(function(){var n=yt.get(this,i);yt.set(this,i,e),t.indexOf("-")!==-1&&void 0!==n&&yt.set(this,t,e)})},null,e,arguments.length>1,null,!0)},removeData:function(t){return this.each(function(){yt.remove(this,t)})}}),Z.extend({queue:function(t,e,n){var i;if(t)return e=(e||"fx")+"queue",i=vt.get(t,e),n&&(!i||Z.isArray(n)?i=vt.access(t,e,Z.makeArray(n)):i.push(n)),i||[]},dequeue:function(t,e){e=e||"fx";var n=Z.queue(t,e),i=n.length,o=n.shift(),r=Z._queueHooks(t,e),s=function(){Z.dequeue(t,e)};"inprogress"===o&&(o=n.shift(),i--),o&&("fx"===e&&n.unshift("inprogress"),delete r.stop,o.call(t,s,r)),!i&&r&&r.empty.fire()},_queueHooks:function(t,e){var n=e+"queueHooks";return vt.get(t,n)||vt.access(t,n,{empty:Z.Callbacks("once memory").add(function(){vt.remove(t,[e+"queue",n])})})}}),Z.fn.extend({queue:function(t,e){var n=2;return"string"!=typeof t&&(e=t,t="fx",n--),arguments.length<n?Z.queue(this[0],t):void 0===e?this:this.each(function(){var n=Z.queue(this,t,e);Z._queueHooks(this,t),"fx"===t&&"inprogress"!==n[0]&&Z.dequeue(this,t)})},dequeue:function(t){return this.each(function(){Z.dequeue(this,t)})},clearQueue:function(t){return this.queue(t||"fx",[])},promise:function(t,e){var n,i=1,o=Z.Deferred(),r=this,s=this.length,a=function(){--i||o.resolveWith(r,[r])};for("string"!=typeof t&&(e=t,t=void 0),t=t||"fx";s--;)n=vt.get(r[s],t+"queueHooks"),n&&n.empty&&(i++,n.empty.add(a));return a(),o.promise(e)}});var wt=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,Tt=["Top","Right","Bottom","Left"],Ct=function(t,e){return t=e||t,"none"===Z.css(t,"display")||!Z.contains(t.ownerDocument,t)},Et=/^(?:checkbox|radio)$/i;!function(){var t=J.createDocumentFragment(),e=t.appendChild(J.createElement("div")),n=J.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),e.appendChild(n),Y.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="<textarea>x</textarea>",Y.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var $t="undefined";Y.focusinBubbles="onfocusin"in t;var kt=/^key/,St=/^(?:mouse|pointer|contextmenu)|click/,Nt=/^(?:focusinfocus|focusoutblur)$/,Dt=/^([^.]*)(?:\.(.+)|)$/;Z.event={global:{},add:function(t,e,n,i,o){var r,s,a,l,c,u,f,p,d,h,g,m=vt.get(t);if(m)for(n.handler&&(r=n,n=r.handler,o=r.selector),n.guid||(n.guid=Z.guid++),(l=m.events)||(l=m.events={}),(s=m.handle)||(s=m.handle=function(e){return typeof Z!==$t&&Z.event.triggered!==e.type?Z.event.dispatch.apply(t,arguments):void 0}),e=(e||"").match(dt)||[""],c=e.length;c--;)a=Dt.exec(e[c])||[],d=g=a[1],h=(a[2]||"").split(".").sort(),d&&(f=Z.event.special[d]||{},d=(o?f.delegateType:f.bindType)||d,f=Z.event.special[d]||{},u=Z.extend({type:d,origType:g,data:i,handler:n,guid:n.guid,selector:o,needsContext:o&&Z.expr.match.needsContext.test(o),namespace:h.join(".")},r),(p=l[d])||(p=l[d]=[],p.delegateCount=0,f.setup&&f.setup.call(t,i,h,s)!==!1||t.addEventListener&&t.addEventListener(d,s,!1)),f.add&&(f.add.call(t,u),u.handler.guid||(u.handler.guid=n.guid)),o?p.splice(p.delegateCount++,0,u):p.push(u),Z.event.global[d]=!0)},remove:function(t,e,n,i,o){var r,s,a,l,c,u,f,p,d,h,g,m=vt.hasData(t)&&vt.get(t);if(m&&(l=m.events)){for(e=(e||"").match(dt)||[""],c=e.length;c--;)if(a=Dt.exec(e[c])||[],d=g=a[1],h=(a[2]||"").split(".").sort(),d){for(f=Z.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,p=l[d]||[],a=a[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=r=p.length;r--;)u=p[r],!o&&g!==u.origType||n&&n.guid!==u.guid||a&&!a.test(u.namespace)||i&&i!==u.selector&&("**"!==i||!u.selector)||(p.splice(r,1),u.selector&&p.delegateCount--,f.remove&&f.remove.call(t,u));s&&!p.length&&(f.teardown&&f.teardown.call(t,h,m.handle)!==!1||Z.removeEvent(t,d,m.handle),delete l[d])}else for(d in l)Z.event.remove(t,d+e[c],n,i,!0);Z.isEmptyObject(l)&&(delete m.handle,vt.remove(t,"events"))}},trigger:function(e,n,i,o){var r,s,a,l,c,u,f,p=[i||J],d=G.call(e,"type")?e.type:e,h=G.call(e,"namespace")?e.namespace.split("."):[];if(s=a=i=i||J,3!==i.nodeType&&8!==i.nodeType&&!Nt.test(d+Z.event.triggered)&&(d.indexOf(".")>=0&&(h=d.split("."),d=h.shift(),h.sort()),c=d.indexOf(":")<0&&"on"+d,e=e[Z.expando]?e:new Z.Event(d,"object"==typeof e&&e),e.isTrigger=o?2:3,e.namespace=h.join("."),e.namespace_re=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=i),n=null==n?[e]:Z.makeArray(n,[e]),f=Z.event.special[d]||{},o||!f.trigger||f.trigger.apply(i,n)!==!1)){if(!o&&!f.noBubble&&!Z.isWindow(i)){for(l=f.delegateType||d,Nt.test(l+d)||(s=s.parentNode);s;s=s.parentNode)p.push(s),a=s;a===(i.ownerDocument||J)&&p.push(a.defaultView||a.parentWindow||t)}for(r=0;(s=p[r++])&&!e.isPropagationStopped();)e.type=r>1?l:f.bindType||d,u=(vt.get(s,"events")||{})[e.type]&&vt.get(s,"handle"),u&&u.apply(s,n),u=c&&s[c],u&&u.apply&&Z.acceptData(s)&&(e.result=u.apply(s,n),e.result===!1&&e.preventDefault());return e.type=d,o||e.isDefaultPrevented()||f._default&&f._default.apply(p.pop(),n)!==!1||!Z.acceptData(i)||c&&Z.isFunction(i[d])&&!Z.isWindow(i)&&(a=i[c],a&&(i[c]=null),Z.event.triggered=d,i[d](),Z.event.triggered=void 0,a&&(i[c]=a)),e.result}},dispatch:function(t){t=Z.event.fix(t);var e,n,i,o,r,s=[],a=B.call(arguments),l=(vt.get(this,"events")||{})[t.type]||[],c=Z.event.special[t.type]||{};if(a[0]=t,t.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,t)!==!1){for(s=Z.event.handlers.call(this,t,l),e=0;(o=s[e++])&&!t.isPropagationStopped();)for(t.currentTarget=o.elem,n=0;(r=o.handlers[n++])&&!t.isImmediatePropagationStopped();)t.namespace_re&&!t.namespace_re.test(r.namespace)||(t.handleObj=r,t.data=r.data,i=((Z.event.special[r.origType]||{}).handle||r.handler).apply(o.elem,a),void 0!==i&&(t.result=i)===!1&&(t.preventDefault(),t.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,t),t.result}},handlers:function(t,e){var n,i,o,r,s=[],a=e.delegateCount,l=t.target;if(a&&l.nodeType&&(!t.button||"click"!==t.type))for(;l!==this;l=l.parentNode||this)if(l.disabled!==!0||"click"!==t.type){for(i=[],n=0;n<a;n++)r=e[n],o=r.selector+" ",void 0===i[o]&&(i[o]=r.needsContext?Z(o,this).index(l)>=0:Z.find(o,this,null,[l]).length),i[o]&&i.push(r);i.length&&s.push({elem:l,handlers:i})}return a<e.length&&s.push({elem:this,handlers:e.slice(a)}),s},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(t,e){return null==t.which&&(t.which=null!=e.charCode?e.charCode:e.keyCode),t}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(t,e){var n,i,o,r=e.button;return null==t.pageX&&null!=e.clientX&&(n=t.target.ownerDocument||J,i=n.documentElement,o=n.body,t.pageX=e.clientX+(i&&i.scrollLeft||o&&o.scrollLeft||0)-(i&&i.clientLeft||o&&o.clientLeft||0),t.pageY=e.clientY+(i&&i.scrollTop||o&&o.scrollTop||0)-(i&&i.clientTop||o&&o.clientTop||0)),t.which||void 0===r||(t.which=1&r?1:2&r?3:4&r?2:0),t}},fix:function(t){if(t[Z.expando])return t;var e,n,i,o=t.type,r=t,s=this.fixHooks[o];for(s||(this.fixHooks[o]=s=St.test(o)?this.mouseHooks:kt.test(o)?this.keyHooks:{}),i=s.props?this.props.concat(s.props):this.props,t=new Z.Event(r),e=i.length;e--;)n=i[e],t[n]=r[n];return t.target||(t.target=J),3===t.target.nodeType&&(t.target=t.target.parentNode),s.filter?s.filter(t,r):t},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==f()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===f()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&Z.nodeName(this,"input"))return this.click(),!1},_default:function(t){return Z.nodeName(t.target,"a")}},beforeunload:{postDispatch:function(t){void 0!==t.result&&t.originalEvent&&(t.originalEvent.returnValue=t.result)}}},simulate:function(t,e,n,i){var o=Z.extend(new Z.Event,n,{type:t,isSimulated:!0,originalEvent:{}});i?Z.event.trigger(o,null,e):Z.event.dispatch.call(e,o),o.isDefaultPrevented()&&n.preventDefault()}},Z.removeEvent=function(t,e,n){t.removeEventListener&&t.removeEventListener(e,n,!1)},Z.Event=function(t,e){return this instanceof Z.Event?(t&&t.type?(this.originalEvent=t,this.type=t.type,this.isDefaultPrevented=t.defaultPrevented||void 0===t.defaultPrevented&&t.returnValue===!1?c:u):this.type=t,e&&Z.extend(this,e),this.timeStamp=t&&t.timeStamp||Z.now(),void(this[Z.expando]=!0)):new Z.Event(t,e)},Z.Event.prototype={isDefaultPrevented:u,isPropagationStopped:u,isImmediatePropagationStopped:u,preventDefault:function(){var t=this.originalEvent;this.isDefaultPrevented=c,t&&t.preventDefault&&t.preventDefault()},stopPropagation:function(){var t=this.originalEvent;this.isPropagationStopped=c,t&&t.stopPropagation&&t.stopPropagation()},stopImmediatePropagation:function(){var t=this.originalEvent;this.isImmediatePropagationStopped=c,t&&t.stopImmediatePropagation&&t.stopImmediatePropagation(),this.stopPropagation()}},Z.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(t,e){Z.event.special[t]={delegateType:e,bindType:e,handle:function(t){var n,i=this,o=t.relatedTarget,r=t.handleObj;return o&&(o===i||Z.contains(i,o))||(t.type=r.origType,n=r.handler.apply(this,arguments),t.type=e),n}}}),Y.focusinBubbles||Z.each({focus:"focusin",blur:"focusout"},function(t,e){var n=function(t){Z.event.simulate(e,t.target,Z.event.fix(t),!0)};Z.event.special[e]={setup:function(){var i=this.ownerDocument||this,o=vt.access(i,e);o||i.addEventListener(t,n,!0),vt.access(i,e,(o||0)+1)},teardown:function(){var i=this.ownerDocument||this,o=vt.access(i,e)-1;o?vt.access(i,e,o):(i.removeEventListener(t,n,!0),vt.remove(i,e))}}}),Z.fn.extend({on:function(t,e,n,i,o){var r,s;if("object"==typeof t){"string"!=typeof e&&(n=n||e,e=void 0);for(s in t)this.on(s,e,n,t[s],o);return this}if(null==n&&null==i?(i=e,n=e=void 0):null==i&&("string"==typeof e?(i=n,n=void 0):(i=n,n=e,e=void 0)),i===!1)i=u;else if(!i)return this;return 1===o&&(r=i,i=function(t){return Z().off(t),r.apply(this,arguments)},i.guid=r.guid||(r.guid=Z.guid++)),this.each(function(){Z.event.add(this,t,i,n,e)})},one:function(t,e,n,i){return this.on(t,e,n,i,1)},off:function(t,e,n){var i,o;if(t&&t.preventDefault&&t.handleObj)return i=t.handleObj,Z(t.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof t){for(o in t)this.off(o,e,t[o]);return this}return e!==!1&&"function"!=typeof e||(n=e,e=void 0),n===!1&&(n=u),this.each(function(){Z.event.remove(this,t,n,e)})},trigger:function(t,e){return this.each(function(){Z.event.trigger(t,e,this)})},triggerHandler:function(t,e){var n=this[0];if(n)return Z.event.trigger(t,e,n,!0)}});var At=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jt=/<([\w:]+)/,Ot=/<|&#?\w+;/,It=/<(?:script|style|link)/i,Lt=/checked\s*(?:[^=]|=\s*.checked.)/i,Rt=/^$|\/(?:java|ecma)script/i,Pt=/^true\/(.*)/,qt=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,Ht={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};Ht.optgroup=Ht.option,Ht.tbody=Ht.tfoot=Ht.colgroup=Ht.caption=Ht.thead,Ht.th=Ht.td,Z.extend({clone:function(t,e,n){var i,o,r,s,a=t.cloneNode(!0),l=Z.contains(t.ownerDocument,t);if(!(Y.noCloneChecked||1!==t.nodeType&&11!==t.nodeType||Z.isXMLDoc(t)))for(s=v(a),r=v(t),i=0,o=r.length;i<o;i++)y(r[i],s[i]);if(e)if(n)for(r=r||v(t),s=s||v(a),i=0,o=r.length;i<o;i++)m(r[i],s[i]);else m(t,a);return s=v(a,"script"),s.length>0&&g(s,!l&&v(t,"script")),a},buildFragment:function(t,e,n,i){for(var o,r,s,a,l,c,u=e.createDocumentFragment(),f=[],p=0,d=t.length;p<d;p++)if(o=t[p],o||0===o)if("object"===Z.type(o))Z.merge(f,o.nodeType?[o]:o);else if(Ot.test(o)){for(r=r||u.appendChild(e.createElement("div")),s=(jt.exec(o)||["",""])[1].toLowerCase(),a=Ht[s]||Ht._default,r.innerHTML=a[1]+o.replace(At,"<$1></$2>")+a[2],c=a[0];c--;)r=r.lastChild;Z.merge(f,r.childNodes),r=u.firstChild,r.textContent=""}else f.push(e.createTextNode(o));for(u.textContent="",p=0;o=f[p++];)if((!i||Z.inArray(o,i)===-1)&&(l=Z.contains(o.ownerDocument,o),r=v(u.appendChild(o),"script"),l&&g(r),n))for(c=0;o=r[c++];)Rt.test(o.type||"")&&n.push(o);return u},cleanData:function(t){for(var e,n,i,o,r=Z.event.special,s=0;void 0!==(n=t[s]);s++){if(Z.acceptData(n)&&(o=n[vt.expando],o&&(e=vt.cache[o]))){if(e.events)for(i in e.events)r[i]?Z.event.remove(n,i):Z.removeEvent(n,i,e.handle);vt.cache[o]&&delete vt.cache[o]}delete yt.cache[n[yt.expando]]}}}),Z.fn.extend({text:function(t){return mt(this,function(t){return void 0===t?Z.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=t)})},null,t,arguments.length)},append:function(){return this.domManip(arguments,function(t){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var e=p(this,t);e.appendChild(t)}})},prepend:function(){return this.domManip(arguments,function(t){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var e=p(this,t);e.insertBefore(t,e.firstChild)}})},before:function(){return this.domManip(arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this)})},after:function(){return this.domManip(arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this.nextSibling)})},remove:function(t,e){for(var n,i=t?Z.filter(t,this):this,o=0;null!=(n=i[o]);o++)e||1!==n.nodeType||Z.cleanData(v(n)),n.parentNode&&(e&&Z.contains(n.ownerDocument,n)&&g(v(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){for(var t,e=0;null!=(t=this[e]);e++)1===t.nodeType&&(Z.cleanData(v(t,!1)),t.textContent="");return this},clone:function(t,e){return t=null!=t&&t,e=null==e?t:e,this.map(function(){return Z.clone(this,t,e)})},html:function(t){return mt(this,function(t){var e=this[0]||{},n=0,i=this.length;if(void 0===t&&1===e.nodeType)return e.innerHTML;if("string"==typeof t&&!It.test(t)&&!Ht[(jt.exec(t)||["",""])[1].toLowerCase()]){t=t.replace(At,"<$1></$2>");try{for(;n<i;n++)e=this[n]||{},1===e.nodeType&&(Z.cleanData(v(e,!1)),e.innerHTML=t);e=0}catch(o){}}e&&this.empty().append(t)},null,t,arguments.length)},replaceWith:function(){var t=arguments[0];return this.domManip(arguments,function(e){t=this.parentNode,Z.cleanData(v(this)),t&&t.replaceChild(e,this)}),t&&(t.length||t.nodeType)?this:this.remove()},detach:function(t){return this.remove(t,!0)},domManip:function(t,e){t=U.apply([],t);var n,i,o,r,s,a,l=0,c=this.length,u=this,f=c-1,p=t[0],g=Z.isFunction(p);if(g||c>1&&"string"==typeof p&&!Y.checkClone&&Lt.test(p))return this.each(function(n){var i=u.eq(n);g&&(t[0]=p.call(this,n,i.html())),i.domManip(t,e)});if(c&&(n=Z.buildFragment(t,this[0].ownerDocument,!1,this),i=n.firstChild,1===n.childNodes.length&&(n=i),i)){for(o=Z.map(v(n,"script"),d),r=o.length;l<c;l++)s=n,l!==f&&(s=Z.clone(s,!0,!0),r&&Z.merge(o,v(s,"script"))),e.call(this[l],s,l);if(r)for(a=o[o.length-1].ownerDocument,Z.map(o,h),l=0;l<r;l++)s=o[l],Rt.test(s.type||"")&&!vt.access(s,"globalEval")&&Z.contains(a,s)&&(s.src?Z._evalUrl&&Z._evalUrl(s.src):Z.globalEval(s.textContent.replace(qt,"")))}return this}}),Z.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(t,e){Z.fn[t]=function(t){for(var n,i=[],o=Z(t),r=o.length-1,s=0;s<=r;s++)n=s===r?this:this.clone(!0),Z(o[s])[e](n),V.apply(i,n.get());return this.pushStack(i)}});var Ft,Mt={},Wt=/^margin/,_t=new RegExp("^("+wt+")(?!px)[a-z%]+$","i"),Bt=function(e){return e.ownerDocument.defaultView.opener?e.ownerDocument.defaultView.getComputedStyle(e,null):t.getComputedStyle(e,null)};!function(){function e(){s.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",s.innerHTML="",o.appendChild(r);var e=t.getComputedStyle(s,null);n="1%"!==e.top,i="4px"===e.width,o.removeChild(r)}var n,i,o=J.documentElement,r=J.createElement("div"),s=J.createElement("div");s.style&&(s.style.backgroundClip="content-box",s.cloneNode(!0).style.backgroundClip="",Y.clearCloneStyle="content-box"===s.style.backgroundClip,r.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute",r.appendChild(s),t.getComputedStyle&&Z.extend(Y,{pixelPosition:function(){return e(),n},boxSizingReliable:function(){return null==i&&e(),i},reliableMarginRight:function(){var e,n=s.appendChild(J.createElement("div"));return n.style.cssText=s.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",n.style.marginRight=n.style.width="0",s.style.width="1px",o.appendChild(r),e=!parseFloat(t.getComputedStyle(n,null).marginRight),o.removeChild(r),s.removeChild(n),e}}))}(),Z.swap=function(t,e,n,i){var o,r,s={};for(r in e)s[r]=t.style[r],t.style[r]=e[r];o=n.apply(t,i||[]);for(r in e)t.style[r]=s[r];return o};var Ut=/^(none|table(?!-c[ea]).+)/,Vt=new RegExp("^("+wt+")(.*)$","i"),zt=new RegExp("^([+-])=("+wt+")","i"),Xt={position:"absolute",visibility:"hidden",display:"block"},Qt={letterSpacing:"0",fontWeight:"400"},Gt=["Webkit","O","Moz","ms"];Z.extend({cssHooks:{opacity:{get:function(t,e){if(e){var n=w(t,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(t,e,n,i){if(t&&3!==t.nodeType&&8!==t.nodeType&&t.style){var o,r,s,a=Z.camelCase(e),l=t.style;return e=Z.cssProps[a]||(Z.cssProps[a]=C(l,a)),s=Z.cssHooks[e]||Z.cssHooks[a],void 0===n?s&&"get"in s&&void 0!==(o=s.get(t,!1,i))?o:l[e]:(r=typeof n,"string"===r&&(o=zt.exec(n))&&(n=(o[1]+1)*o[2]+parseFloat(Z.css(t,e)),r="number"),null!=n&&n===n&&("number"!==r||Z.cssNumber[a]||(n+="px"),Y.clearCloneStyle||""!==n||0!==e.indexOf("background")||(l[e]="inherit"),s&&"set"in s&&void 0===(n=s.set(t,n,i))||(l[e]=n)),void 0)}},css:function(t,e,n,i){var o,r,s,a=Z.camelCase(e);return e=Z.cssProps[a]||(Z.cssProps[a]=C(t.style,a)),s=Z.cssHooks[e]||Z.cssHooks[a],s&&"get"in s&&(o=s.get(t,!0,n)),void 0===o&&(o=w(t,e,i)),"normal"===o&&e in Qt&&(o=Qt[e]),""===n||n?(r=parseFloat(o),n===!0||Z.isNumeric(r)?r||0:o):o}}),Z.each(["height","width"],function(t,e){Z.cssHooks[e]={get:function(t,n,i){if(n)return Ut.test(Z.css(t,"display"))&&0===t.offsetWidth?Z.swap(t,Xt,function(){return k(t,e,i)}):k(t,e,i)},set:function(t,n,i){var o=i&&Bt(t);return E(t,n,i?$(t,e,i,"border-box"===Z.css(t,"boxSizing",!1,o),o):0)}}}),Z.cssHooks.marginRight=T(Y.reliableMarginRight,function(t,e){if(e)return Z.swap(t,{display:"inline-block"},w,[t,"marginRight"])}),Z.each({margin:"",padding:"",border:"Width"},function(t,e){Z.cssHooks[t+e]={expand:function(n){for(var i=0,o={},r="string"==typeof n?n.split(" "):[n];i<4;i++)o[t+Tt[i]+e]=r[i]||r[i-2]||r[0];return o}},Wt.test(t)||(Z.cssHooks[t+e].set=E)}),Z.fn.extend({css:function(t,e){return mt(this,function(t,e,n){var i,o,r={},s=0;if(Z.isArray(e)){for(i=Bt(t),o=e.length;s<o;s++)r[e[s]]=Z.css(t,e[s],!1,i);return r}return void 0!==n?Z.style(t,e,n):Z.css(t,e)},t,e,arguments.length>1)},show:function(){return S(this,!0)},hide:function(){return S(this)},toggle:function(t){return"boolean"==typeof t?t?this.show():this.hide():this.each(function(){Ct(this)?Z(this).show():Z(this).hide()})}}),Z.Tween=N,N.prototype={constructor:N,init:function(t,e,n,i,o,r){this.elem=t,this.prop=n,this.easing=o||"swing",this.options=e,this.start=this.now=this.cur(),this.end=i,this.unit=r||(Z.cssNumber[n]?"":"px")},cur:function(){var t=N.propHooks[this.prop];return t&&t.get?t.get(this):N.propHooks._default.get(this)},run:function(t){var e,n=N.propHooks[this.prop];return this.options.duration?this.pos=e=Z.easing[this.easing](t,this.options.duration*t,0,1,this.options.duration):this.pos=e=t,this.now=(this.end-this.start)*e+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):N.propHooks._default.set(this),this}},N.prototype.init.prototype=N.prototype,N.propHooks={_default:{get:function(t){var e;return null==t.elem[t.prop]||t.elem.style&&null!=t.elem.style[t.prop]?(e=Z.css(t.elem,t.prop,""),e&&"auto"!==e?e:0):t.elem[t.prop]},set:function(t){Z.fx.step[t.prop]?Z.fx.step[t.prop](t):t.elem.style&&(null!=t.elem.style[Z.cssProps[t.prop]]||Z.cssHooks[t.prop])?Z.style(t.elem,t.prop,t.now+t.unit):t.elem[t.prop]=t.now}}},N.propHooks.scrollTop=N.propHooks.scrollLeft={set:function(t){t.elem.nodeType&&t.elem.parentNode&&(t.elem[t.prop]=t.now)}},Z.easing={linear:function(t){return t},swing:function(t){return.5-Math.cos(t*Math.PI)/2}},Z.fx=N.prototype.init,Z.fx.step={};var Yt,Jt,Kt=/^(?:toggle|show|hide)$/,Zt=new RegExp("^(?:([+-])=|)("+wt+")([a-z%]*)$","i"),te=/queueHooks$/,ee=[O],ne={"*":[function(t,e){var n=this.createTween(t,e),i=n.cur(),o=Zt.exec(e),r=o&&o[3]||(Z.cssNumber[t]?"":"px"),s=(Z.cssNumber[t]||"px"!==r&&+i)&&Zt.exec(Z.css(n.elem,t)),a=1,l=20;if(s&&s[3]!==r){r=r||s[3],o=o||[],s=+i||1;do a=a||".5",s/=a,Z.style(n.elem,t,s+r);while(a!==(a=n.cur()/i)&&1!==a&&--l)}return o&&(s=n.start=+s||+i||0,n.unit=r,n.end=o[1]?s+(o[1]+1)*o[2]:+o[2]),n}]};Z.Animation=Z.extend(L,{tweener:function(t,e){Z.isFunction(t)?(e=t,t=["*"]):t=t.split(" ");for(var n,i=0,o=t.length;i<o;i++)n=t[i],ne[n]=ne[n]||[],ne[n].unshift(e)},prefilter:function(t,e){e?ee.unshift(t):ee.push(t)}}),Z.speed=function(t,e,n){var i=t&&"object"==typeof t?Z.extend({},t):{complete:n||!n&&e||Z.isFunction(t)&&t,duration:t,easing:n&&e||e&&!Z.isFunction(e)&&e};return i.duration=Z.fx.off?0:"number"==typeof i.duration?i.duration:i.duration in Z.fx.speeds?Z.fx.speeds[i.duration]:Z.fx.speeds._default,null!=i.queue&&i.queue!==!0||(i.queue="fx"),i.old=i.complete,i.complete=function(){Z.isFunction(i.old)&&i.old.call(this),i.queue&&Z.dequeue(this,i.queue)},i},Z.fn.extend({fadeTo:function(t,e,n,i){return this.filter(Ct).css("opacity",0).show().end().animate({opacity:e},t,n,i)},animate:function(t,e,n,i){var o=Z.isEmptyObject(t),r=Z.speed(e,n,i),s=function(){var e=L(this,Z.extend({},t),r);(o||vt.get(this,"finish"))&&e.stop(!0)};return s.finish=s,o||r.queue===!1?this.each(s):this.queue(r.queue,s)},stop:function(t,e,n){var i=function(t){var e=t.stop;delete t.stop,e(n)};return"string"!=typeof t&&(n=e,e=t,t=void 0),e&&t!==!1&&this.queue(t||"fx",[]),this.each(function(){var e=!0,o=null!=t&&t+"queueHooks",r=Z.timers,s=vt.get(this);if(o)s[o]&&s[o].stop&&i(s[o]);else for(o in s)s[o]&&s[o].stop&&te.test(o)&&i(s[o]);for(o=r.length;o--;)r[o].elem!==this||null!=t&&r[o].queue!==t||(r[o].anim.stop(n),e=!1,r.splice(o,1));!e&&n||Z.dequeue(this,t)})},finish:function(t){return t!==!1&&(t=t||"fx"),this.each(function(){var e,n=vt.get(this),i=n[t+"queue"],o=n[t+"queueHooks"],r=Z.timers,s=i?i.length:0;for(n.finish=!0,Z.queue(this,t,[]),o&&o.stop&&o.stop.call(this,!0),e=r.length;e--;)r[e].elem===this&&r[e].queue===t&&(r[e].anim.stop(!0),r.splice(e,1));
+for(e=0;e<s;e++)i[e]&&i[e].finish&&i[e].finish.call(this);delete n.finish})}}),Z.each(["toggle","show","hide"],function(t,e){var n=Z.fn[e];Z.fn[e]=function(t,i,o){return null==t||"boolean"==typeof t?n.apply(this,arguments):this.animate(A(e,!0),t,i,o)}}),Z.each({slideDown:A("show"),slideUp:A("hide"),slideToggle:A("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(t,e){Z.fn[t]=function(t,n,i){return this.animate(e,t,n,i)}}),Z.timers=[],Z.fx.tick=function(){var t,e=0,n=Z.timers;for(Yt=Z.now();e<n.length;e++)t=n[e],t()||n[e]!==t||n.splice(e--,1);n.length||Z.fx.stop(),Yt=void 0},Z.fx.timer=function(t){Z.timers.push(t),t()?Z.fx.start():Z.timers.pop()},Z.fx.interval=13,Z.fx.start=function(){Jt||(Jt=setInterval(Z.fx.tick,Z.fx.interval))},Z.fx.stop=function(){clearInterval(Jt),Jt=null},Z.fx.speeds={slow:600,fast:200,_default:400},Z.fn.delay=function(t,e){return t=Z.fx?Z.fx.speeds[t]||t:t,e=e||"fx",this.queue(e,function(e,n){var i=setTimeout(e,t);n.stop=function(){clearTimeout(i)}})},function(){var t=J.createElement("input"),e=J.createElement("select"),n=e.appendChild(J.createElement("option"));t.type="checkbox",Y.checkOn=""!==t.value,Y.optSelected=n.selected,e.disabled=!0,Y.optDisabled=!n.disabled,t=J.createElement("input"),t.value="t",t.type="radio",Y.radioValue="t"===t.value}();var ie,oe,re=Z.expr.attrHandle;Z.fn.extend({attr:function(t,e){return mt(this,Z.attr,t,e,arguments.length>1)},removeAttr:function(t){return this.each(function(){Z.removeAttr(this,t)})}}),Z.extend({attr:function(t,e,n){var i,o,r=t.nodeType;if(t&&3!==r&&8!==r&&2!==r)return typeof t.getAttribute===$t?Z.prop(t,e,n):(1===r&&Z.isXMLDoc(t)||(e=e.toLowerCase(),i=Z.attrHooks[e]||(Z.expr.match.bool.test(e)?oe:ie)),void 0===n?i&&"get"in i&&null!==(o=i.get(t,e))?o:(o=Z.find.attr(t,e),null==o?void 0:o):null!==n?i&&"set"in i&&void 0!==(o=i.set(t,n,e))?o:(t.setAttribute(e,n+""),n):void Z.removeAttr(t,e))},removeAttr:function(t,e){var n,i,o=0,r=e&&e.match(dt);if(r&&1===t.nodeType)for(;n=r[o++];)i=Z.propFix[n]||n,Z.expr.match.bool.test(n)&&(t[i]=!1),t.removeAttribute(n)},attrHooks:{type:{set:function(t,e){if(!Y.radioValue&&"radio"===e&&Z.nodeName(t,"input")){var n=t.value;return t.setAttribute("type",e),n&&(t.value=n),e}}}}}),oe={set:function(t,e,n){return e===!1?Z.removeAttr(t,n):t.setAttribute(n,n),n}},Z.each(Z.expr.match.bool.source.match(/\w+/g),function(t,e){var n=re[e]||Z.find.attr;re[e]=function(t,e,i){var o,r;return i||(r=re[e],re[e]=o,o=null!=n(t,e,i)?e.toLowerCase():null,re[e]=r),o}});var se=/^(?:input|select|textarea|button)$/i;Z.fn.extend({prop:function(t,e){return mt(this,Z.prop,t,e,arguments.length>1)},removeProp:function(t){return this.each(function(){delete this[Z.propFix[t]||t]})}}),Z.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(t,e,n){var i,o,r,s=t.nodeType;if(t&&3!==s&&8!==s&&2!==s)return r=1!==s||!Z.isXMLDoc(t),r&&(e=Z.propFix[e]||e,o=Z.propHooks[e]),void 0!==n?o&&"set"in o&&void 0!==(i=o.set(t,n,e))?i:t[e]=n:o&&"get"in o&&null!==(i=o.get(t,e))?i:t[e]},propHooks:{tabIndex:{get:function(t){return t.hasAttribute("tabindex")||se.test(t.nodeName)||t.href?t.tabIndex:-1}}}}),Y.optSelected||(Z.propHooks.selected={get:function(t){var e=t.parentNode;return e&&e.parentNode&&e.parentNode.selectedIndex,null}}),Z.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){Z.propFix[this.toLowerCase()]=this});var ae=/[\t\r\n\f]/g;Z.fn.extend({addClass:function(t){var e,n,i,o,r,s,a="string"==typeof t&&t,l=0,c=this.length;if(Z.isFunction(t))return this.each(function(e){Z(this).addClass(t.call(this,e,this.className))});if(a)for(e=(t||"").match(dt)||[];l<c;l++)if(n=this[l],i=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(ae," "):" ")){for(r=0;o=e[r++];)i.indexOf(" "+o+" ")<0&&(i+=o+" ");s=Z.trim(i),n.className!==s&&(n.className=s)}return this},removeClass:function(t){var e,n,i,o,r,s,a=0===arguments.length||"string"==typeof t&&t,l=0,c=this.length;if(Z.isFunction(t))return this.each(function(e){Z(this).removeClass(t.call(this,e,this.className))});if(a)for(e=(t||"").match(dt)||[];l<c;l++)if(n=this[l],i=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(ae," "):"")){for(r=0;o=e[r++];)for(;i.indexOf(" "+o+" ")>=0;)i=i.replace(" "+o+" "," ");s=t?Z.trim(i):"",n.className!==s&&(n.className=s)}return this},toggleClass:function(t,e){var n=typeof t;return"boolean"==typeof e&&"string"===n?e?this.addClass(t):this.removeClass(t):Z.isFunction(t)?this.each(function(n){Z(this).toggleClass(t.call(this,n,this.className,e),e)}):this.each(function(){if("string"===n)for(var e,i=0,o=Z(this),r=t.match(dt)||[];e=r[i++];)o.hasClass(e)?o.removeClass(e):o.addClass(e);else n!==$t&&"boolean"!==n||(this.className&&vt.set(this,"__className__",this.className),this.className=this.className||t===!1?"":vt.get(this,"__className__")||"")})},hasClass:function(t){for(var e=" "+t+" ",n=0,i=this.length;n<i;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(ae," ").indexOf(e)>=0)return!0;return!1}});var le=/\r/g;Z.fn.extend({val:function(t){var e,n,i,o=this[0];{if(arguments.length)return i=Z.isFunction(t),this.each(function(n){var o;1===this.nodeType&&(o=i?t.call(this,n,Z(this).val()):t,null==o?o="":"number"==typeof o?o+="":Z.isArray(o)&&(o=Z.map(o,function(t){return null==t?"":t+""})),e=Z.valHooks[this.type]||Z.valHooks[this.nodeName.toLowerCase()],e&&"set"in e&&void 0!==e.set(this,o,"value")||(this.value=o))});if(o)return e=Z.valHooks[o.type]||Z.valHooks[o.nodeName.toLowerCase()],e&&"get"in e&&void 0!==(n=e.get(o,"value"))?n:(n=o.value,"string"==typeof n?n.replace(le,""):null==n?"":n)}}}),Z.extend({valHooks:{option:{get:function(t){var e=Z.find.attr(t,"value");return null!=e?e:Z.trim(Z.text(t))}},select:{get:function(t){for(var e,n,i=t.options,o=t.selectedIndex,r="select-one"===t.type||o<0,s=r?null:[],a=r?o+1:i.length,l=o<0?a:r?o:0;l<a;l++)if(n=i[l],(n.selected||l===o)&&(Y.optDisabled?!n.disabled:null===n.getAttribute("disabled"))&&(!n.parentNode.disabled||!Z.nodeName(n.parentNode,"optgroup"))){if(e=Z(n).val(),r)return e;s.push(e)}return s},set:function(t,e){for(var n,i,o=t.options,r=Z.makeArray(e),s=o.length;s--;)i=o[s],(i.selected=Z.inArray(i.value,r)>=0)&&(n=!0);return n||(t.selectedIndex=-1),r}}}}),Z.each(["radio","checkbox"],function(){Z.valHooks[this]={set:function(t,e){if(Z.isArray(e))return t.checked=Z.inArray(Z(t).val(),e)>=0}},Y.checkOn||(Z.valHooks[this].get=function(t){return null===t.getAttribute("value")?"on":t.value})}),Z.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(t,e){Z.fn[e]=function(t,n){return arguments.length>0?this.on(e,null,t,n):this.trigger(e)}}),Z.fn.extend({hover:function(t,e){return this.mouseenter(t).mouseleave(e||t)},bind:function(t,e,n){return this.on(t,null,e,n)},unbind:function(t,e){return this.off(t,null,e)},delegate:function(t,e,n,i){return this.on(e,t,n,i)},undelegate:function(t,e,n){return 1===arguments.length?this.off(t,"**"):this.off(e,t||"**",n)}});var ce=Z.now(),ue=/\?/;Z.parseJSON=function(t){return JSON.parse(t+"")},Z.parseXML=function(t){var e,n;if(!t||"string"!=typeof t)return null;try{n=new DOMParser,e=n.parseFromString(t,"text/xml")}catch(i){e=void 0}return e&&!e.getElementsByTagName("parsererror").length||Z.error("Invalid XML: "+t),e};var fe=/#.*$/,pe=/([?&])_=[^&]*/,de=/^(.*?):[ \t]*([^\r\n]*)$/gm,he=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,ge=/^(?:GET|HEAD)$/,me=/^\/\//,ve=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,ye={},be={},xe="*/".concat("*"),we=t.location.href,Te=ve.exec(we.toLowerCase())||[];Z.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:we,type:"GET",isLocal:he.test(Te[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":xe,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":Z.parseJSON,"text xml":Z.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(t,e){return e?q(q(t,Z.ajaxSettings),e):q(Z.ajaxSettings,t)},ajaxPrefilter:R(ye),ajaxTransport:R(be),ajax:function(t,e){function n(t,e,n,s){var l,u,v,y,x,T=e;2!==b&&(b=2,a&&clearTimeout(a),i=void 0,r=s||"",w.readyState=t>0?4:0,l=t>=200&&t<300||304===t,n&&(y=H(f,w,n)),y=F(f,y,w,l),l?(f.ifModified&&(x=w.getResponseHeader("Last-Modified"),x&&(Z.lastModified[o]=x),x=w.getResponseHeader("etag"),x&&(Z.etag[o]=x)),204===t||"HEAD"===f.type?T="nocontent":304===t?T="notmodified":(T=y.state,u=y.data,v=y.error,l=!v)):(v=T,!t&&T||(T="error",t<0&&(t=0))),w.status=t,w.statusText=(e||T)+"",l?h.resolveWith(p,[u,T,w]):h.rejectWith(p,[w,T,v]),w.statusCode(m),m=void 0,c&&d.trigger(l?"ajaxSuccess":"ajaxError",[w,f,l?u:v]),g.fireWith(p,[w,T]),c&&(d.trigger("ajaxComplete",[w,f]),--Z.active||Z.event.trigger("ajaxStop")))}"object"==typeof t&&(e=t,t=void 0),e=e||{};var i,o,r,s,a,l,c,u,f=Z.ajaxSetup({},e),p=f.context||f,d=f.context&&(p.nodeType||p.jquery)?Z(p):Z.event,h=Z.Deferred(),g=Z.Callbacks("once memory"),m=f.statusCode||{},v={},y={},b=0,x="canceled",w={readyState:0,getResponseHeader:function(t){var e;if(2===b){if(!s)for(s={};e=de.exec(r);)s[e[1].toLowerCase()]=e[2];e=s[t.toLowerCase()]}return null==e?null:e},getAllResponseHeaders:function(){return 2===b?r:null},setRequestHeader:function(t,e){var n=t.toLowerCase();return b||(t=y[n]=y[n]||t,v[t]=e),this},overrideMimeType:function(t){return b||(f.mimeType=t),this},statusCode:function(t){var e;if(t)if(b<2)for(e in t)m[e]=[m[e],t[e]];else w.always(t[w.status]);return this},abort:function(t){var e=t||x;return i&&i.abort(e),n(0,e),this}};if(h.promise(w).complete=g.add,w.success=w.done,w.error=w.fail,f.url=((t||f.url||we)+"").replace(fe,"").replace(me,Te[1]+"//"),f.type=e.method||e.type||f.method||f.type,f.dataTypes=Z.trim(f.dataType||"*").toLowerCase().match(dt)||[""],null==f.crossDomain&&(l=ve.exec(f.url.toLowerCase()),f.crossDomain=!(!l||l[1]===Te[1]&&l[2]===Te[2]&&(l[3]||("http:"===l[1]?"80":"443"))===(Te[3]||("http:"===Te[1]?"80":"443")))),f.data&&f.processData&&"string"!=typeof f.data&&(f.data=Z.param(f.data,f.traditional)),P(ye,f,e,w),2===b)return w;c=Z.event&&f.global,c&&0===Z.active++&&Z.event.trigger("ajaxStart"),f.type=f.type.toUpperCase(),f.hasContent=!ge.test(f.type),o=f.url,f.hasContent||(f.data&&(o=f.url+=(ue.test(o)?"&":"?")+f.data,delete f.data),f.cache===!1&&(f.url=pe.test(o)?o.replace(pe,"$1_="+ce++):o+(ue.test(o)?"&":"?")+"_="+ce++)),f.ifModified&&(Z.lastModified[o]&&w.setRequestHeader("If-Modified-Since",Z.lastModified[o]),Z.etag[o]&&w.setRequestHeader("If-None-Match",Z.etag[o])),(f.data&&f.hasContent&&f.contentType!==!1||e.contentType)&&w.setRequestHeader("Content-Type",f.contentType),w.setRequestHeader("Accept",f.dataTypes[0]&&f.accepts[f.dataTypes[0]]?f.accepts[f.dataTypes[0]]+("*"!==f.dataTypes[0]?", "+xe+"; q=0.01":""):f.accepts["*"]);for(u in f.headers)w.setRequestHeader(u,f.headers[u]);if(f.beforeSend&&(f.beforeSend.call(p,w,f)===!1||2===b))return w.abort();x="abort";for(u in{success:1,error:1,complete:1})w[u](f[u]);if(i=P(be,f,e,w)){w.readyState=1,c&&d.trigger("ajaxSend",[w,f]),f.async&&f.timeout>0&&(a=setTimeout(function(){w.abort("timeout")},f.timeout));try{b=1,i.send(v,n)}catch(T){if(!(b<2))throw T;n(-1,T)}}else n(-1,"No Transport");return w},getJSON:function(t,e,n){return Z.get(t,e,n,"json")},getScript:function(t,e){return Z.get(t,void 0,e,"script")}}),Z.each(["get","post"],function(t,e){Z[e]=function(t,n,i,o){return Z.isFunction(n)&&(o=o||i,i=n,n=void 0),Z.ajax({url:t,type:e,dataType:o,data:n,success:i})}}),Z._evalUrl=function(t){return Z.ajax({url:t,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},Z.fn.extend({wrapAll:function(t){var e;return Z.isFunction(t)?this.each(function(e){Z(this).wrapAll(t.call(this,e))}):(this[0]&&(e=Z(t,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&e.insertBefore(this[0]),e.map(function(){for(var t=this;t.firstElementChild;)t=t.firstElementChild;return t}).append(this)),this)},wrapInner:function(t){return Z.isFunction(t)?this.each(function(e){Z(this).wrapInner(t.call(this,e))}):this.each(function(){var e=Z(this),n=e.contents();n.length?n.wrapAll(t):e.append(t)})},wrap:function(t){var e=Z.isFunction(t);return this.each(function(n){Z(this).wrapAll(e?t.call(this,n):t)})},unwrap:function(){return this.parent().each(function(){Z.nodeName(this,"body")||Z(this).replaceWith(this.childNodes)}).end()}}),Z.expr.filters.hidden=function(t){return t.offsetWidth<=0&&t.offsetHeight<=0},Z.expr.filters.visible=function(t){return!Z.expr.filters.hidden(t)};var Ce=/%20/g,Ee=/\[\]$/,$e=/\r?\n/g,ke=/^(?:submit|button|image|reset|file)$/i,Se=/^(?:input|select|textarea|keygen)/i;Z.param=function(t,e){var n,i=[],o=function(t,e){e=Z.isFunction(e)?e():null==e?"":e,i[i.length]=encodeURIComponent(t)+"="+encodeURIComponent(e)};if(void 0===e&&(e=Z.ajaxSettings&&Z.ajaxSettings.traditional),Z.isArray(t)||t.jquery&&!Z.isPlainObject(t))Z.each(t,function(){o(this.name,this.value)});else for(n in t)M(n,t[n],e,o);return i.join("&").replace(Ce,"+")},Z.fn.extend({serialize:function(){return Z.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var t=Z.prop(this,"elements");return t?Z.makeArray(t):this}).filter(function(){var t=this.type;return this.name&&!Z(this).is(":disabled")&&Se.test(this.nodeName)&&!ke.test(t)&&(this.checked||!Et.test(t))}).map(function(t,e){var n=Z(this).val();return null==n?null:Z.isArray(n)?Z.map(n,function(t){return{name:e.name,value:t.replace($e,"\r\n")}}):{name:e.name,value:n.replace($e,"\r\n")}}).get()}}),Z.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(t){}};var Ne=0,De={},Ae={0:200,1223:204},je=Z.ajaxSettings.xhr();t.attachEvent&&t.attachEvent("onunload",function(){for(var t in De)De[t]()}),Y.cors=!!je&&"withCredentials"in je,Y.ajax=je=!!je,Z.ajaxTransport(function(t){var e;if(Y.cors||je&&!t.crossDomain)return{send:function(n,i){var o,r=t.xhr(),s=++Ne;if(r.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(o in t.xhrFields)r[o]=t.xhrFields[o];t.mimeType&&r.overrideMimeType&&r.overrideMimeType(t.mimeType),t.crossDomain||n["X-Requested-With"]||(n["X-Requested-With"]="XMLHttpRequest");for(o in n)r.setRequestHeader(o,n[o]);e=function(t){return function(){e&&(delete De[s],e=r.onload=r.onerror=null,"abort"===t?r.abort():"error"===t?i(r.status,r.statusText):i(Ae[r.status]||r.status,r.statusText,"string"==typeof r.responseText?{text:r.responseText}:void 0,r.getAllResponseHeaders()))}},r.onload=e(),r.onerror=e("error"),e=De[s]=e("abort");try{r.send(t.hasContent&&t.data||null)}catch(a){if(e)throw a}},abort:function(){e&&e()}}}),Z.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(t){return Z.globalEval(t),t}}}),Z.ajaxPrefilter("script",function(t){void 0===t.cache&&(t.cache=!1),t.crossDomain&&(t.type="GET")}),Z.ajaxTransport("script",function(t){if(t.crossDomain){var e,n;return{send:function(i,o){e=Z("<script>").prop({async:!0,charset:t.scriptCharset,src:t.url}).on("load error",n=function(t){e.remove(),n=null,t&&o("error"===t.type?404:200,t.type)}),J.head.appendChild(e[0])},abort:function(){n&&n()}}}});var Oe=[],Ie=/(=)\?(?=&|$)|\?\?/;Z.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var t=Oe.pop()||Z.expando+"_"+ce++;return this[t]=!0,t}}),Z.ajaxPrefilter("json jsonp",function(e,n,i){var o,r,s,a=e.jsonp!==!1&&(Ie.test(e.url)?"url":"string"==typeof e.data&&!(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ie.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return o=e.jsonpCallback=Z.isFunction(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ie,"$1"+o):e.jsonp!==!1&&(e.url+=(ue.test(e.url)?"&":"?")+e.jsonp+"="+o),e.converters["script json"]=function(){return s||Z.error(o+" was not called"),s[0]},e.dataTypes[0]="json",r=t[o],t[o]=function(){s=arguments},i.always(function(){t[o]=r,e[o]&&(e.jsonpCallback=n.jsonpCallback,Oe.push(o)),s&&Z.isFunction(r)&&r(s[0]),s=r=void 0}),"script"}),Z.parseHTML=function(t,e,n){if(!t||"string"!=typeof t)return null;"boolean"==typeof e&&(n=e,e=!1),e=e||J;var i=st.exec(t),o=!n&&[];return i?[e.createElement(i[1])]:(i=Z.buildFragment([t],e,o),o&&o.length&&Z(o).remove(),Z.merge([],i.childNodes))};var Le=Z.fn.load;Z.fn.load=function(t,e,n){if("string"!=typeof t&&Le)return Le.apply(this,arguments);var i,o,r,s=this,a=t.indexOf(" ");return a>=0&&(i=Z.trim(t.slice(a)),t=t.slice(0,a)),Z.isFunction(e)?(n=e,e=void 0):e&&"object"==typeof e&&(o="POST"),s.length>0&&Z.ajax({url:t,type:o,dataType:"html",data:e}).done(function(t){r=arguments,s.html(i?Z("<div>").append(Z.parseHTML(t)).find(i):t)}).complete(n&&function(t,e){s.each(n,r||[t.responseText,e,t])}),this},Z.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(t,e){Z.fn[e]=function(t){return this.on(e,t)}}),Z.expr.filters.animated=function(t){return Z.grep(Z.timers,function(e){return t===e.elem}).length};var Re=t.document.documentElement;Z.offset={setOffset:function(t,e,n){var i,o,r,s,a,l,c,u=Z.css(t,"position"),f=Z(t),p={};"static"===u&&(t.style.position="relative"),a=f.offset(),r=Z.css(t,"top"),l=Z.css(t,"left"),c=("absolute"===u||"fixed"===u)&&(r+l).indexOf("auto")>-1,c?(i=f.position(),s=i.top,o=i.left):(s=parseFloat(r)||0,o=parseFloat(l)||0),Z.isFunction(e)&&(e=e.call(t,n,a)),null!=e.top&&(p.top=e.top-a.top+s),null!=e.left&&(p.left=e.left-a.left+o),"using"in e?e.using.call(t,p):f.css(p)}},Z.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){Z.offset.setOffset(this,t,e)});var e,n,i=this[0],o={top:0,left:0},r=i&&i.ownerDocument;if(r)return e=r.documentElement,Z.contains(e,i)?(typeof i.getBoundingClientRect!==$t&&(o=i.getBoundingClientRect()),n=W(r),{top:o.top+n.pageYOffset-e.clientTop,left:o.left+n.pageXOffset-e.clientLeft}):o},position:function(){if(this[0]){var t,e,n=this[0],i={top:0,left:0};return"fixed"===Z.css(n,"position")?e=n.getBoundingClientRect():(t=this.offsetParent(),e=this.offset(),Z.nodeName(t[0],"html")||(i=t.offset()),i.top+=Z.css(t[0],"borderTopWidth",!0),i.left+=Z.css(t[0],"borderLeftWidth",!0)),{top:e.top-i.top-Z.css(n,"marginTop",!0),left:e.left-i.left-Z.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent||Re;t&&!Z.nodeName(t,"html")&&"static"===Z.css(t,"position");)t=t.offsetParent;return t||Re})}}),Z.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var i="pageYOffset"===n;Z.fn[e]=function(o){return mt(this,function(e,o,r){var s=W(e);return void 0===r?s?s[n]:e[o]:void(s?s.scrollTo(i?t.pageXOffset:r,i?r:t.pageYOffset):e[o]=r)},e,o,arguments.length,null)}}),Z.each(["top","left"],function(t,e){Z.cssHooks[e]=T(Y.pixelPosition,function(t,n){if(n)return n=w(t,e),_t.test(n)?Z(t).position()[e]+"px":n})}),Z.each({Height:"height",Width:"width"},function(t,e){Z.each({padding:"inner"+t,content:e,"":"outer"+t},function(n,i){Z.fn[i]=function(i,o){var r=arguments.length&&(n||"boolean"!=typeof i),s=n||(i===!0||o===!0?"margin":"border");return mt(this,function(e,n,i){var o;return Z.isWindow(e)?e.document.documentElement["client"+t]:9===e.nodeType?(o=e.documentElement,Math.max(e.body["scroll"+t],o["scroll"+t],e.body["offset"+t],o["offset"+t],o["client"+t])):void 0===i?Z.css(e,n,s):Z.style(e,n,i,s)},e,r?i:void 0,r,null)}})}),Z.fn.size=function(){return this.length},Z.fn.andSelf=Z.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return Z});var Pe=t.jQuery,qe=t.$;return Z.noConflict=function(e){return t.$===Z&&(t.$=qe),e&&t.jQuery===Z&&(t.jQuery=Pe),Z},typeof e===$t&&(t.jQuery=t.$=Z),Z}),"undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(t){"use strict";var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||e[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),+function(t){"use strict";function e(){var t=document.createElement("bootstrap"),e={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var n in e)if(void 0!==t.style[n])return{end:e[n]};return!1}t.fn.emulateTransitionEnd=function(e){var n=!1,i=this;t(this).one("bsTransitionEnd",function(){n=!0});var o=function(){n||t(i).trigger(t.support.transition.end)};return setTimeout(o,e),this},t(function(){t.support.transition=e(),t.support.transition&&(t.event.special.bsTransitionEnd={bindType:t.support.transition.end,delegateType:t.support.transition.end,handle:function(e){if(t(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}})})}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var n=t(this),o=n.data("bs.alert");o||n.data("bs.alert",o=new i(this)),"string"==typeof e&&o[e].call(n)})}var n='[data-dismiss="alert"]',i=function(e){t(e).on("click",n,this.close)};i.VERSION="3.3.7",i.TRANSITION_DURATION=150,i.prototype.close=function(e){function n(){s.detach().trigger("closed.bs.alert").remove()}var o=t(this),r=o.attr("data-target");r||(r=o.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,""));var s=t("#"===r?[]:r);e&&e.preventDefault(),s.length||(s=o.closest(".alert")),s.trigger(e=t.Event("close.bs.alert")),e.isDefaultPrevented()||(s.removeClass("in"),t.support.transition&&s.hasClass("fade")?s.one("bsTransitionEnd",n).emulateTransitionEnd(i.TRANSITION_DURATION):n())};var o=t.fn.alert;t.fn.alert=e,t.fn.alert.Constructor=i,t.fn.alert.noConflict=function(){return t.fn.alert=o,this},t(document).on("click.bs.alert.data-api",n,i.prototype.close)}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var i=t(this),o=i.data("bs.button"),r="object"==typeof e&&e;o||i.data("bs.button",o=new n(this,r)),"toggle"==e?o.toggle():e&&o.setState(e)})}var n=function(e,i){this.$element=t(e),this.options=t.extend({},n.DEFAULTS,i),this.isLoading=!1};n.VERSION="3.3.7",n.DEFAULTS={loadingText:"loading..."},n.prototype.setState=function(e){var n="disabled",i=this.$element,o=i.is("input")?"val":"html",r=i.data();e+="Text",null==r.resetText&&i.data("resetText",i[o]()),setTimeout(t.proxy(function(){i[o](null==r[e]?this.options[e]:r[e]),"loadingText"==e?(this.isLoading=!0,i.addClass(n).attr(n,n).prop(n,!0)):this.isLoading&&(this.isLoading=!1,i.removeClass(n).removeAttr(n).prop(n,!1))},this),0)},n.prototype.toggle=function(){var t=!0,e=this.$element.closest('[data-toggle="buttons"]');if(e.length){var n=this.$element.find("input");"radio"==n.prop("type")?(n.prop("checked")&&(t=!1),e.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==n.prop("type")&&(n.prop("checked")!==this.$element.hasClass("active")&&(t=!1),this.$element.toggleClass("active")),n.prop("checked",this.$element.hasClass("active")),t&&n.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var i=t.fn.button;t.fn.button=e,t.fn.button.Constructor=n,t.fn.button.noConflict=function(){return t.fn.button=i,this},t(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(n){var i=t(n.target).closest(".btn");e.call(i,"toggle"),t(n.target).is('input[type="radio"], input[type="checkbox"]')||(n.preventDefault(),i.is("input,button")?i.trigger("focus"):i.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(e){t(e.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(e.type))})}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var i=t(this),o=i.data("bs.carousel"),r=t.extend({},n.DEFAULTS,i.data(),"object"==typeof e&&e),s="string"==typeof e?e:r.slide;o||i.data("bs.carousel",o=new n(this,r)),"number"==typeof e?o.to(e):s?o[s]():r.interval&&o.pause().cycle()})}var n=function(e,n){this.$element=t(e),this.$indicators=this.$element.find(".carousel-indicators"),this.options=n,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",t.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",t.proxy(this.pause,this)).on("mouseleave.bs.carousel",t.proxy(this.cycle,this))};n.VERSION="3.3.7",n.TRANSITION_DURATION=600,n.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},n.prototype.keydown=function(t){if(!/input|textarea/i.test(t.target.tagName)){switch(t.which){case 37:this.prev();break;case 39:this.next();break;default:return}t.preventDefault()}},n.prototype.cycle=function(e){return e||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(t.proxy(this.next,this),this.options.interval)),this},n.prototype.getItemIndex=function(t){return this.$items=t.parent().children(".item"),this.$items.index(t||this.$active)},n.prototype.getItemForDirection=function(t,e){var n=this.getItemIndex(e),i="prev"==t&&0===n||"next"==t&&n==this.$items.length-1;if(i&&!this.options.wrap)return e;var o="prev"==t?-1:1,r=(n+o)%this.$items.length;return this.$items.eq(r)},n.prototype.to=function(t){var e=this,n=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(t>this.$items.length-1||t<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){e.to(t)}):n==t?this.pause().cycle():this.slide(t>n?"next":"prev",this.$items.eq(t))},n.prototype.pause=function(e){return e||(this.paused=!0),this.$element.find(".next, .prev").length&&t.support.transition&&(this.$element.trigger(t.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},n.prototype.next=function(){if(!this.sliding)return this.slide("next")},n.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},n.prototype.slide=function(e,i){var o=this.$element.find(".item.active"),r=i||this.getItemForDirection(e,o),s=this.interval,a="next"==e?"left":"right",l=this;if(r.hasClass("active"))return this.sliding=!1;var c=r[0],u=t.Event("slide.bs.carousel",{relatedTarget:c,direction:a});if(this.$element.trigger(u),!u.isDefaultPrevented()){if(this.sliding=!0,s&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var f=t(this.$indicators.children()[this.getItemIndex(r)]);f&&f.addClass("active")}var p=t.Event("slid.bs.carousel",{relatedTarget:c,direction:a});return t.support.transition&&this.$element.hasClass("slide")?(r.addClass(e),r[0].offsetWidth,o.addClass(a),r.addClass(a),o.one("bsTransitionEnd",function(){r.removeClass([e,a].join(" ")).addClass("active"),o.removeClass(["active",a].join(" ")),l.sliding=!1,setTimeout(function(){l.$element.trigger(p)},0)}).emulateTransitionEnd(n.TRANSITION_DURATION)):(o.removeClass("active"),r.addClass("active"),this.sliding=!1,this.$element.trigger(p)),s&&this.cycle(),this}};var i=t.fn.carousel;t.fn.carousel=e,t.fn.carousel.Constructor=n,t.fn.carousel.noConflict=function(){return t.fn.carousel=i,this};var o=function(n){var i,o=t(this),r=t(o.attr("data-target")||(i=o.attr("href"))&&i.replace(/.*(?=#[^\s]+$)/,""));if(r.hasClass("carousel")){var s=t.extend({},r.data(),o.data()),a=o.attr("data-slide-to");a&&(s.interval=!1),e.call(r,s),a&&r.data("bs.carousel").to(a),n.preventDefault()}};t(document).on("click.bs.carousel.data-api","[data-slide]",o).on("click.bs.carousel.data-api","[data-slide-to]",o),t(window).on("load",function(){t('[data-ride="carousel"]').each(function(){var n=t(this);e.call(n,n.data())})})}(jQuery),+function(t){"use strict";function e(e){var n,i=e.attr("data-target")||(n=e.attr("href"))&&n.replace(/.*(?=#[^\s]+$)/,"");return t(i)}function n(e){return this.each(function(){var n=t(this),o=n.data("bs.collapse"),r=t.extend({},i.DEFAULTS,n.data(),"object"==typeof e&&e);!o&&r.toggle&&/show|hide/.test(e)&&(r.toggle=!1),o||n.data("bs.collapse",o=new i(this,r)),"string"==typeof e&&o[e]()})}var i=function(e,n){this.$element=t(e),this.options=t.extend({},i.DEFAULTS,n),this.$trigger=t('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};i.VERSION="3.3.7",i.TRANSITION_DURATION=350,i.DEFAULTS={toggle:!0},i.prototype.dimension=function(){var t=this.$element.hasClass("width");return t?"width":"height"},i.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var e,o=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(o&&o.length&&(e=o.data("bs.collapse"),e&&e.transitioning))){var r=t.Event("show.bs.collapse");if(this.$element.trigger(r),!r.isDefaultPrevented()){o&&o.length&&(n.call(o,"hide"),e||o.data("bs.collapse",null));var s=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[s](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var a=function(){this.$element.removeClass("collapsing").addClass("collapse in")[s](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!t.support.transition)return a.call(this);var l=t.camelCase(["scroll",s].join("-"));this.$element.one("bsTransitionEnd",t.proxy(a,this)).emulateTransitionEnd(i.TRANSITION_DURATION)[s](this.$element[0][l])}}}},i.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var e=t.Event("hide.bs.collapse");if(this.$element.trigger(e),!e.isDefaultPrevented()){var n=this.dimension();this.$element[n](this.$element[n]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var o=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return t.support.transition?void this.$element[n](0).one("bsTransitionEnd",t.proxy(o,this)).emulateTransitionEnd(i.TRANSITION_DURATION):o.call(this)}}},i.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},i.prototype.getParent=function(){return t(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(t.proxy(function(n,i){var o=t(i);this.addAriaAndCollapsedClass(e(o),o)},this)).end()},i.prototype.addAriaAndCollapsedClass=function(t,e){var n=t.hasClass("in");t.attr("aria-expanded",n),e.toggleClass("collapsed",!n).attr("aria-expanded",n)};var o=t.fn.collapse;t.fn.collapse=n,t.fn.collapse.Constructor=i,t.fn.collapse.noConflict=function(){return t.fn.collapse=o,this},t(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(i){var o=t(this);o.attr("data-target")||i.preventDefault();var r=e(o),s=r.data("bs.collapse"),a=s?"toggle":o.data();n.call(r,a)})}(jQuery),+function(t){"use strict";function e(e){var n=e.attr("data-target");n||(n=e.attr("href"),n=n&&/#[A-Za-z]/.test(n)&&n.replace(/.*(?=#[^\s]*$)/,""));var i=n&&t(n);return i&&i.length?i:e.parent()}function n(n){n&&3===n.which||(t(o).remove(),t(r).each(function(){var i=t(this),o=e(i),r={relatedTarget:this};o.hasClass("open")&&(n&&"click"==n.type&&/input|textarea/i.test(n.target.tagName)&&t.contains(o[0],n.target)||(o.trigger(n=t.Event("hide.bs.dropdown",r)),n.isDefaultPrevented()||(i.attr("aria-expanded","false"),o.removeClass("open").trigger(t.Event("hidden.bs.dropdown",r)))));
+}))}function i(e){return this.each(function(){var n=t(this),i=n.data("bs.dropdown");i||n.data("bs.dropdown",i=new s(this)),"string"==typeof e&&i[e].call(n)})}var o=".dropdown-backdrop",r='[data-toggle="dropdown"]',s=function(e){t(e).on("click.bs.dropdown",this.toggle)};s.VERSION="3.3.7",s.prototype.toggle=function(i){var o=t(this);if(!o.is(".disabled, :disabled")){var r=e(o),s=r.hasClass("open");if(n(),!s){"ontouchstart"in document.documentElement&&!r.closest(".navbar-nav").length&&t(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(t(this)).on("click",n);var a={relatedTarget:this};if(r.trigger(i=t.Event("show.bs.dropdown",a)),i.isDefaultPrevented())return;o.trigger("focus").attr("aria-expanded","true"),r.toggleClass("open").trigger(t.Event("shown.bs.dropdown",a))}return!1}},s.prototype.keydown=function(n){if(/(38|40|27|32)/.test(n.which)&&!/input|textarea/i.test(n.target.tagName)){var i=t(this);if(n.preventDefault(),n.stopPropagation(),!i.is(".disabled, :disabled")){var o=e(i),s=o.hasClass("open");if(!s&&27!=n.which||s&&27==n.which)return 27==n.which&&o.find(r).trigger("focus"),i.trigger("click");var a=" li:not(.disabled):visible a",l=o.find(".dropdown-menu"+a);if(l.length){var c=l.index(n.target);38==n.which&&c>0&&c--,40==n.which&&c<l.length-1&&c++,~c||(c=0),l.eq(c).trigger("focus")}}}};var a=t.fn.dropdown;t.fn.dropdown=i,t.fn.dropdown.Constructor=s,t.fn.dropdown.noConflict=function(){return t.fn.dropdown=a,this},t(document).on("click.bs.dropdown.data-api",n).on("click.bs.dropdown.data-api",".dropdown form",function(t){t.stopPropagation()}).on("click.bs.dropdown.data-api",r,s.prototype.toggle).on("keydown.bs.dropdown.data-api",r,s.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",s.prototype.keydown)}(jQuery),+function(t){"use strict";function e(e,i){return this.each(function(){var o=t(this),r=o.data("bs.modal"),s=t.extend({},n.DEFAULTS,o.data(),"object"==typeof e&&e);r||o.data("bs.modal",r=new n(this,s)),"string"==typeof e?r[e](i):s.show&&r.show(i)})}var n=function(e,n){this.options=n,this.$body=t(document.body),this.$element=t(e),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,t.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};n.VERSION="3.3.7",n.TRANSITION_DURATION=300,n.BACKDROP_TRANSITION_DURATION=150,n.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},n.prototype.toggle=function(t){return this.isShown?this.hide():this.show(t)},n.prototype.show=function(e){var i=this,o=t.Event("show.bs.modal",{relatedTarget:e});this.$element.trigger(o),this.isShown||o.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',t.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){i.$element.one("mouseup.dismiss.bs.modal",function(e){t(e.target).is(i.$element)&&(i.ignoreBackdropClick=!0)})}),this.backdrop(function(){var o=t.support.transition&&i.$element.hasClass("fade");i.$element.parent().length||i.$element.appendTo(i.$body),i.$element.show().scrollTop(0),i.adjustDialog(),o&&i.$element[0].offsetWidth,i.$element.addClass("in"),i.enforceFocus();var r=t.Event("shown.bs.modal",{relatedTarget:e});o?i.$dialog.one("bsTransitionEnd",function(){i.$element.trigger("focus").trigger(r)}).emulateTransitionEnd(n.TRANSITION_DURATION):i.$element.trigger("focus").trigger(r)}))},n.prototype.hide=function(e){e&&e.preventDefault(),e=t.Event("hide.bs.modal"),this.$element.trigger(e),this.isShown&&!e.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),t(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),t.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",t.proxy(this.hideModal,this)).emulateTransitionEnd(n.TRANSITION_DURATION):this.hideModal())},n.prototype.enforceFocus=function(){t(document).off("focusin.bs.modal").on("focusin.bs.modal",t.proxy(function(t){document===t.target||this.$element[0]===t.target||this.$element.has(t.target).length||this.$element.trigger("focus")},this))},n.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",t.proxy(function(t){27==t.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},n.prototype.resize=function(){this.isShown?t(window).on("resize.bs.modal",t.proxy(this.handleUpdate,this)):t(window).off("resize.bs.modal")},n.prototype.hideModal=function(){var t=this;this.$element.hide(),this.backdrop(function(){t.$body.removeClass("modal-open"),t.resetAdjustments(),t.resetScrollbar(),t.$element.trigger("hidden.bs.modal")})},n.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},n.prototype.backdrop=function(e){var i=this,o=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var r=t.support.transition&&o;if(this.$backdrop=t(document.createElement("div")).addClass("modal-backdrop "+o).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",t.proxy(function(t){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(t.target===t.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),r&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!e)return;r?this.$backdrop.one("bsTransitionEnd",e).emulateTransitionEnd(n.BACKDROP_TRANSITION_DURATION):e()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var s=function(){i.removeBackdrop(),e&&e()};t.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",s).emulateTransitionEnd(n.BACKDROP_TRANSITION_DURATION):s()}else e&&e()},n.prototype.handleUpdate=function(){this.adjustDialog()},n.prototype.adjustDialog=function(){var t=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&t?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!t?this.scrollbarWidth:""})},n.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},n.prototype.checkScrollbar=function(){var t=window.innerWidth;if(!t){var e=document.documentElement.getBoundingClientRect();t=e.right-Math.abs(e.left)}this.bodyIsOverflowing=document.body.clientWidth<t,this.scrollbarWidth=this.measureScrollbar()},n.prototype.setScrollbar=function(){var t=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",t+this.scrollbarWidth)},n.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},n.prototype.measureScrollbar=function(){var t=document.createElement("div");t.className="modal-scrollbar-measure",this.$body.append(t);var e=t.offsetWidth-t.clientWidth;return this.$body[0].removeChild(t),e};var i=t.fn.modal;t.fn.modal=e,t.fn.modal.Constructor=n,t.fn.modal.noConflict=function(){return t.fn.modal=i,this},t(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(n){var i=t(this),o=i.attr("href"),r=t(i.attr("data-target")||o&&o.replace(/.*(?=#[^\s]+$)/,"")),s=r.data("bs.modal")?"toggle":t.extend({remote:!/#/.test(o)&&o},r.data(),i.data());i.is("a")&&n.preventDefault(),r.one("show.bs.modal",function(t){t.isDefaultPrevented()||r.one("hidden.bs.modal",function(){i.is(":visible")&&i.trigger("focus")})}),e.call(r,s,this)})}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var i=t(this),o=i.data("bs.tooltip"),r="object"==typeof e&&e;!o&&/destroy|hide/.test(e)||(o||i.data("bs.tooltip",o=new n(this,r)),"string"==typeof e&&o[e]())})}var n=function(t,e){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",t,e)};n.VERSION="3.3.7",n.TRANSITION_DURATION=150,n.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},n.prototype.init=function(e,n,i){if(this.enabled=!0,this.type=e,this.$element=t(n),this.options=this.getOptions(i),this.$viewport=this.options.viewport&&t(t.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var o=this.options.trigger.split(" "),r=o.length;r--;){var s=o[r];if("click"==s)this.$element.on("click."+this.type,this.options.selector,t.proxy(this.toggle,this));else if("manual"!=s){var a="hover"==s?"mouseenter":"focusin",l="hover"==s?"mouseleave":"focusout";this.$element.on(a+"."+this.type,this.options.selector,t.proxy(this.enter,this)),this.$element.on(l+"."+this.type,this.options.selector,t.proxy(this.leave,this))}}this.options.selector?this._options=t.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},n.prototype.getDefaults=function(){return n.DEFAULTS},n.prototype.getOptions=function(e){return e=t.extend({},this.getDefaults(),this.$element.data(),e),e.delay&&"number"==typeof e.delay&&(e.delay={show:e.delay,hide:e.delay}),e},n.prototype.getDelegateOptions=function(){var e={},n=this.getDefaults();return this._options&&t.each(this._options,function(t,i){n[t]!=i&&(e[t]=i)}),e},n.prototype.enter=function(e){var n=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);return n||(n=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,n)),e instanceof t.Event&&(n.inState["focusin"==e.type?"focus":"hover"]=!0),n.tip().hasClass("in")||"in"==n.hoverState?void(n.hoverState="in"):(clearTimeout(n.timeout),n.hoverState="in",n.options.delay&&n.options.delay.show?void(n.timeout=setTimeout(function(){"in"==n.hoverState&&n.show()},n.options.delay.show)):n.show())},n.prototype.isInStateTrue=function(){for(var t in this.inState)if(this.inState[t])return!0;return!1},n.prototype.leave=function(e){var n=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);if(n||(n=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,n)),e instanceof t.Event&&(n.inState["focusout"==e.type?"focus":"hover"]=!1),!n.isInStateTrue())return clearTimeout(n.timeout),n.hoverState="out",n.options.delay&&n.options.delay.hide?void(n.timeout=setTimeout(function(){"out"==n.hoverState&&n.hide()},n.options.delay.hide)):n.hide()},n.prototype.show=function(){var e=t.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(e);var i=t.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(e.isDefaultPrevented()||!i)return;var o=this,r=this.tip(),s=this.getUID(this.type);this.setContent(),r.attr("id",s),this.$element.attr("aria-describedby",s),this.options.animation&&r.addClass("fade");var a="function"==typeof this.options.placement?this.options.placement.call(this,r[0],this.$element[0]):this.options.placement,l=/\s?auto?\s?/i,c=l.test(a);c&&(a=a.replace(l,"")||"top"),r.detach().css({top:0,left:0,display:"block"}).addClass(a).data("bs."+this.type,this),this.options.container?r.appendTo(this.options.container):r.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var u=this.getPosition(),f=r[0].offsetWidth,p=r[0].offsetHeight;if(c){var d=a,h=this.getPosition(this.$viewport);a="bottom"==a&&u.bottom+p>h.bottom?"top":"top"==a&&u.top-p<h.top?"bottom":"right"==a&&u.right+f>h.width?"left":"left"==a&&u.left-f<h.left?"right":a,r.removeClass(d).addClass(a)}var g=this.getCalculatedOffset(a,u,f,p);this.applyPlacement(g,a);var m=function(){var t=o.hoverState;o.$element.trigger("shown.bs."+o.type),o.hoverState=null,"out"==t&&o.leave(o)};t.support.transition&&this.$tip.hasClass("fade")?r.one("bsTransitionEnd",m).emulateTransitionEnd(n.TRANSITION_DURATION):m()}},n.prototype.applyPlacement=function(e,n){var i=this.tip(),o=i[0].offsetWidth,r=i[0].offsetHeight,s=parseInt(i.css("margin-top"),10),a=parseInt(i.css("margin-left"),10);isNaN(s)&&(s=0),isNaN(a)&&(a=0),e.top+=s,e.left+=a,t.offset.setOffset(i[0],t.extend({using:function(t){i.css({top:Math.round(t.top),left:Math.round(t.left)})}},e),0),i.addClass("in");var l=i[0].offsetWidth,c=i[0].offsetHeight;"top"==n&&c!=r&&(e.top=e.top+r-c);var u=this.getViewportAdjustedDelta(n,e,l,c);u.left?e.left+=u.left:e.top+=u.top;var f=/top|bottom/.test(n),p=f?2*u.left-o+l:2*u.top-r+c,d=f?"offsetWidth":"offsetHeight";i.offset(e),this.replaceArrow(p,i[0][d],f)},n.prototype.replaceArrow=function(t,e,n){this.arrow().css(n?"left":"top",50*(1-t/e)+"%").css(n?"top":"left","")},n.prototype.setContent=function(){var t=this.tip(),e=this.getTitle();t.find(".tooltip-inner")[this.options.html?"html":"text"](e),t.removeClass("fade in top bottom left right")},n.prototype.hide=function(e){function i(){"in"!=o.hoverState&&r.detach(),o.$element&&o.$element.removeAttr("aria-describedby").trigger("hidden.bs."+o.type),e&&e()}var o=this,r=t(this.$tip),s=t.Event("hide.bs."+this.type);if(this.$element.trigger(s),!s.isDefaultPrevented())return r.removeClass("in"),t.support.transition&&r.hasClass("fade")?r.one("bsTransitionEnd",i).emulateTransitionEnd(n.TRANSITION_DURATION):i(),this.hoverState=null,this},n.prototype.fixTitle=function(){var t=this.$element;(t.attr("title")||"string"!=typeof t.attr("data-original-title"))&&t.attr("data-original-title",t.attr("title")||"").attr("title","")},n.prototype.hasContent=function(){return this.getTitle()},n.prototype.getPosition=function(e){e=e||this.$element;var n=e[0],i="BODY"==n.tagName,o=n.getBoundingClientRect();null==o.width&&(o=t.extend({},o,{width:o.right-o.left,height:o.bottom-o.top}));var r=window.SVGElement&&n instanceof window.SVGElement,s=i?{top:0,left:0}:r?null:e.offset(),a={scroll:i?document.documentElement.scrollTop||document.body.scrollTop:e.scrollTop()},l=i?{width:t(window).width(),height:t(window).height()}:null;return t.extend({},o,a,l,s)},n.prototype.getCalculatedOffset=function(t,e,n,i){return"bottom"==t?{top:e.top+e.height,left:e.left+e.width/2-n/2}:"top"==t?{top:e.top-i,left:e.left+e.width/2-n/2}:"left"==t?{top:e.top+e.height/2-i/2,left:e.left-n}:{top:e.top+e.height/2-i/2,left:e.left+e.width}},n.prototype.getViewportAdjustedDelta=function(t,e,n,i){var o={top:0,left:0};if(!this.$viewport)return o;var r=this.options.viewport&&this.options.viewport.padding||0,s=this.getPosition(this.$viewport);if(/right|left/.test(t)){var a=e.top-r-s.scroll,l=e.top+r-s.scroll+i;a<s.top?o.top=s.top-a:l>s.top+s.height&&(o.top=s.top+s.height-l)}else{var c=e.left-r,u=e.left+r+n;c<s.left?o.left=s.left-c:u>s.right&&(o.left=s.left+s.width-u)}return o},n.prototype.getTitle=function(){var t,e=this.$element,n=this.options;return t=e.attr("data-original-title")||("function"==typeof n.title?n.title.call(e[0]):n.title)},n.prototype.getUID=function(t){do t+=~~(1e6*Math.random());while(document.getElementById(t));return t},n.prototype.tip=function(){if(!this.$tip&&(this.$tip=t(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},n.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},n.prototype.enable=function(){this.enabled=!0},n.prototype.disable=function(){this.enabled=!1},n.prototype.toggleEnabled=function(){this.enabled=!this.enabled},n.prototype.toggle=function(e){var n=this;e&&(n=t(e.currentTarget).data("bs."+this.type),n||(n=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,n))),e?(n.inState.click=!n.inState.click,n.isInStateTrue()?n.enter(n):n.leave(n)):n.tip().hasClass("in")?n.leave(n):n.enter(n)},n.prototype.destroy=function(){var t=this;clearTimeout(this.timeout),this.hide(function(){t.$element.off("."+t.type).removeData("bs."+t.type),t.$tip&&t.$tip.detach(),t.$tip=null,t.$arrow=null,t.$viewport=null,t.$element=null})};var i=t.fn.tooltip;t.fn.tooltip=e,t.fn.tooltip.Constructor=n,t.fn.tooltip.noConflict=function(){return t.fn.tooltip=i,this}}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var i=t(this),o=i.data("bs.popover"),r="object"==typeof e&&e;!o&&/destroy|hide/.test(e)||(o||i.data("bs.popover",o=new n(this,r)),"string"==typeof e&&o[e]())})}var n=function(t,e){this.init("popover",t,e)};if(!t.fn.tooltip)throw new Error("Popover requires tooltip.js");n.VERSION="3.3.7",n.DEFAULTS=t.extend({},t.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),n.prototype=t.extend({},t.fn.tooltip.Constructor.prototype),n.prototype.constructor=n,n.prototype.getDefaults=function(){return n.DEFAULTS},n.prototype.setContent=function(){var t=this.tip(),e=this.getTitle(),n=this.getContent();t.find(".popover-title")[this.options.html?"html":"text"](e),t.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof n?"html":"append":"text"](n),t.removeClass("fade top bottom left right in"),t.find(".popover-title").html()||t.find(".popover-title").hide()},n.prototype.hasContent=function(){return this.getTitle()||this.getContent()},n.prototype.getContent=function(){var t=this.$element,e=this.options;return t.attr("data-content")||("function"==typeof e.content?e.content.call(t[0]):e.content)},n.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var i=t.fn.popover;t.fn.popover=e,t.fn.popover.Constructor=n,t.fn.popover.noConflict=function(){return t.fn.popover=i,this}}(jQuery),+function(t){"use strict";function e(n,i){this.$body=t(document.body),this.$scrollElement=t(t(n).is(document.body)?window:n),this.options=t.extend({},e.DEFAULTS,i),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",t.proxy(this.process,this)),this.refresh(),this.process()}function n(n){return this.each(function(){var i=t(this),o=i.data("bs.scrollspy"),r="object"==typeof n&&n;o||i.data("bs.scrollspy",o=new e(this,r)),"string"==typeof n&&o[n]()})}e.VERSION="3.3.7",e.DEFAULTS={offset:10},e.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},e.prototype.refresh=function(){var e=this,n="offset",i=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),t.isWindow(this.$scrollElement[0])||(n="position",i=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var e=t(this),o=e.data("target")||e.attr("href"),r=/^#./.test(o)&&t(o);return r&&r.length&&r.is(":visible")&&[[r[n]().top+i,o]]||null}).sort(function(t,e){return t[0]-e[0]}).each(function(){e.offsets.push(this[0]),e.targets.push(this[1])})},e.prototype.process=function(){var t,e=this.$scrollElement.scrollTop()+this.options.offset,n=this.getScrollHeight(),i=this.options.offset+n-this.$scrollElement.height(),o=this.offsets,r=this.targets,s=this.activeTarget;if(this.scrollHeight!=n&&this.refresh(),e>=i)return s!=(t=r[r.length-1])&&this.activate(t);if(s&&e<o[0])return this.activeTarget=null,this.clear();for(t=o.length;t--;)s!=r[t]&&e>=o[t]&&(void 0===o[t+1]||e<o[t+1])&&this.activate(r[t])},e.prototype.activate=function(e){this.activeTarget=e,this.clear();var n=this.selector+'[data-target="'+e+'"],'+this.selector+'[href="'+e+'"]',i=t(n).parents("li").addClass("active");i.parent(".dropdown-menu").length&&(i=i.closest("li.dropdown").addClass("active")),i.trigger("activate.bs.scrollspy")},e.prototype.clear=function(){t(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var i=t.fn.scrollspy;t.fn.scrollspy=n,t.fn.scrollspy.Constructor=e,t.fn.scrollspy.noConflict=function(){return t.fn.scrollspy=i,this},t(window).on("load.bs.scrollspy.data-api",function(){t('[data-spy="scroll"]').each(function(){var e=t(this);n.call(e,e.data())})})}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var i=t(this),o=i.data("bs.tab");o||i.data("bs.tab",o=new n(this)),"string"==typeof e&&o[e]()})}var n=function(e){this.element=t(e)};n.VERSION="3.3.7",n.TRANSITION_DURATION=150,n.prototype.show=function(){var e=this.element,n=e.closest("ul:not(.dropdown-menu)"),i=e.data("target");if(i||(i=e.attr("href"),i=i&&i.replace(/.*(?=#[^\s]*$)/,"")),!e.parent("li").hasClass("active")){var o=n.find(".active:last a"),r=t.Event("hide.bs.tab",{relatedTarget:e[0]}),s=t.Event("show.bs.tab",{relatedTarget:o[0]});if(o.trigger(r),e.trigger(s),!s.isDefaultPrevented()&&!r.isDefaultPrevented()){var a=t(i);this.activate(e.closest("li"),n),this.activate(a,a.parent(),function(){o.trigger({type:"hidden.bs.tab",relatedTarget:e[0]}),e.trigger({type:"shown.bs.tab",relatedTarget:o[0]})})}}},n.prototype.activate=function(e,i,o){function r(){s.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),e.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),a?(e[0].offsetWidth,e.addClass("in")):e.removeClass("fade"),e.parent(".dropdown-menu").length&&e.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),o&&o()}var s=i.find("> .active"),a=o&&t.support.transition&&(s.length&&s.hasClass("fade")||!!i.find("> .fade").length);s.length&&a?s.one("bsTransitionEnd",r).emulateTransitionEnd(n.TRANSITION_DURATION):r(),s.removeClass("in")};var i=t.fn.tab;t.fn.tab=e,t.fn.tab.Constructor=n,t.fn.tab.noConflict=function(){return t.fn.tab=i,this};var o=function(n){n.preventDefault(),e.call(t(this),"show")};t(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',o).on("click.bs.tab.data-api",'[data-toggle="pill"]',o)}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var i=t(this),o=i.data("bs.affix"),r="object"==typeof e&&e;o||i.data("bs.affix",o=new n(this,r)),"string"==typeof e&&o[e]()})}var n=function(e,i){this.options=t.extend({},n.DEFAULTS,i),this.$target=t(this.options.target).on("scroll.bs.affix.data-api",t.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",t.proxy(this.checkPositionWithEventLoop,this)),this.$element=t(e),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};n.VERSION="3.3.7",n.RESET="affix affix-top affix-bottom",n.DEFAULTS={offset:0,target:window},n.prototype.getState=function(t,e,n,i){var o=this.$target.scrollTop(),r=this.$element.offset(),s=this.$target.height();if(null!=n&&"top"==this.affixed)return o<n&&"top";if("bottom"==this.affixed)return null!=n?!(o+this.unpin<=r.top)&&"bottom":!(o+s<=t-i)&&"bottom";var a=null==this.affixed,l=a?o:r.top,c=a?s:e;return null!=n&&o<=n?"top":null!=i&&l+c>=t-i&&"bottom"},n.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(n.RESET).addClass("affix");var t=this.$target.scrollTop(),e=this.$element.offset();return this.pinnedOffset=e.top-t},n.prototype.checkPositionWithEventLoop=function(){setTimeout(t.proxy(this.checkPosition,this),1)},n.prototype.checkPosition=function(){if(this.$element.is(":visible")){var e=this.$element.height(),i=this.options.offset,o=i.top,r=i.bottom,s=Math.max(t(document).height(),t(document.body).height());"object"!=typeof i&&(r=o=i),"function"==typeof o&&(o=i.top(this.$element)),"function"==typeof r&&(r=i.bottom(this.$element));var a=this.getState(s,e,o,r);if(this.affixed!=a){null!=this.unpin&&this.$element.css("top","");var l="affix"+(a?"-"+a:""),c=t.Event(l+".bs.affix");if(this.$element.trigger(c),c.isDefaultPrevented())return;this.affixed=a,this.unpin="bottom"==a?this.getPinnedOffset():null,this.$element.removeClass(n.RESET).addClass(l).trigger(l.replace("affix","affixed")+".bs.affix")}"bottom"==a&&this.$element.offset({top:s-e-r})}};var i=t.fn.affix;t.fn.affix=e,t.fn.affix.Constructor=n,t.fn.affix.noConflict=function(){return t.fn.affix=i,this},t(window).on("load",function(){t('[data-spy="affix"]').each(function(){var n=t(this),i=n.data();i.offset=i.offset||{},null!=i.offsetBottom&&(i.offset.bottom=i.offsetBottom),null!=i.offsetTop&&(i.offset.top=i.offsetTop),e.call(n,i)})})}(jQuery),angular.module("ui.checkbox",[]).directive("checkbox",function(){return{scope:{},require:"ngModel",restrict:"E",replace:"true",template:"<button type=\"button\" ng-style=\"stylebtn\" class=\"btn btn-default\" ng-class=\"{'btn-xs': size==='default', 'btn-sm': size==='large', 'btn-lg': size==='largest', 'checked': checked===true}\">"+'<span ng-style="styleicon" class="glyphicon" ng-class="{\'glyphicon-ok\': checked===true}"></span></button>',compile:function(t,e,n){return void 0!==e.ngClass&&(e.ngClass=e.ngClass.replace(/}\s*{/g,", ")),function(t,e,n,i){t.size="default",t.stylebtn={},t.styleicon={width:"10px",left:"-1px"},void 0!==n.large&&(t.size="large",t.stylebtn={"padding-top":"2px","padding-bottom":"2px",height:"30px"},t.styleicon={width:"8px",left:"-5px","font-size":"17px"}),void 0!==n.larger&&(t.size="larger",t.stylebtn={"padding-top":"2px","padding-bottom":"2px",height:"34px"},t.styleicon={width:"8px",left:"-8px","font-size":"22px"}),void 0!==n.largest&&(t.size="largest",t.stylebtn={"padding-top":"2px","padding-bottom":"2px",height:"45px"},t.styleicon={width:"11px",left:"-11px","font-size":"30px"});var o=!0,r=!1;void 0!==n.ngTrueValue&&(o=n.ngTrueValue),void 0!==n.ngFalseValue&&(r=n.ngFalseValue),void 0!==t.name&&(e.name=t.name),t.$watch(function(){return i.$modelValue===o||i.$modelValue===!0?i.$setViewValue(o):i.$setViewValue(r),i.$modelValue},function(e,n){t.checked=i.$modelValue===o},!0),e.bind("click",function(){t.$apply(function(){i.$modelValue===r?i.$setViewValue(o):i.$setViewValue(r)})})}}}}),!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e(t.topojson=t.topojson||{})}(this,function(t){"use strict";function e(){}function n(t){if(!t)return e;var n,i,o=t.scale[0],r=t.scale[1],s=t.translate[0],a=t.translate[1];return function(t,e){e||(n=i=0),t[0]=(n+=t[0])*o+s,t[1]=(i+=t[1])*r+a}}function i(t){if(!t)return e;var n,i,o=t.scale[0],r=t.scale[1],s=t.translate[0],a=t.translate[1];return function(t,e){e||(n=i=0);var l=Math.round((t[0]-s)/o),c=Math.round((t[1]-a)/r);t[0]=l-n,t[1]=c-i,n=l,i=c}}function o(t,e){for(var n,i=t.length,o=i-e;o<--i;)n=t[o],t[o++]=t[i],t[i]=n}function r(t,e){for(var n=0,i=t.length;i>n;){var o=n+i>>>1;t[o]<e?n=o+1:i=o}return n}function s(t,e){return"GeometryCollection"===e.type?{type:"FeatureCollection",features:e.geometries.map(function(e){return a(t,e)})}:a(t,e)}function a(t,e){var n={type:"Feature",id:e.id,properties:e.properties||{},geometry:l(t,e)};return null==e.id&&delete n.id,n}function l(t,e){function i(t,e){e.length&&e.pop();for(var n,i=f[0>t?~t:t],r=0,s=i.length;s>r;++r)e.push(n=i[r].slice()),u(n,r);0>t&&o(e,s)}function r(t){return t=t.slice(),u(t,0),t}function s(t){for(var e=[],n=0,o=t.length;o>n;++n)i(t[n],e);return e.length<2&&e.push(e[0].slice()),e}function a(t){for(var e=s(t);e.length<4;)e.push(e[0].slice());return e}function l(t){return t.map(a)}function c(t){var e=t.type;return"GeometryCollection"===e?{type:e,geometries:t.geometries.map(c)}:e in p?{type:e,coordinates:p[e](t)}:null}var u=n(t.transform),f=t.arcs,p={Point:function(t){return r(t.coordinates)},MultiPoint:function(t){return t.coordinates.map(r)},LineString:function(t){return s(t.arcs)},MultiLineString:function(t){return t.arcs.map(s)},Polygon:function(t){return l(t.arcs)},MultiPolygon:function(t){return t.arcs.map(l)}};return c(e)}function c(t,e){function n(e){var n,i=t.arcs[0>e?~e:e],o=i[0];return t.transform?(n=[0,0],i.forEach(function(t){n[0]+=t[0],n[1]+=t[1]})):n=i[i.length-1],0>e?[n,o]:[o,n]}function i(t,e){for(var n in t){var i=t[n];delete e[i.start],delete i.start,delete i.end,i.forEach(function(t){o[0>t?~t:t]=1}),a.push(i)}}var o={},r={},s={},a=[],l=-1;return e.forEach(function(n,i){var o,r=t.arcs[0>n?~n:n];r.length<3&&!r[1][0]&&!r[1][1]&&(o=e[++l],e[l]=n,e[i]=o)}),e.forEach(function(t){var e,i,o=n(t),a=o[0],l=o[1];if(e=s[a])if(delete s[e.end],e.push(t),e.end=l,i=r[l]){delete r[i.start];var c=i===e?e:e.concat(i);r[c.start=e.start]=s[c.end=i.end]=c}else r[e.start]=s[e.end]=e;else if(e=r[l])if(delete r[e.start],e.unshift(t),e.start=a,i=s[a]){delete s[i.end];var u=i===e?e:i.concat(e);r[u.start=i.start]=s[u.end=e.end]=u}else r[e.start]=s[e.end]=e;else e=[t],r[e.start=a]=s[e.end=l]=e}),i(s,r),i(r,s),e.forEach(function(t){o[0>t?~t:t]||a.push([t])}),a}function u(t){return l(t,f.apply(this,arguments))}function f(t,e,n){function i(t){var e=0>t?~t:t;(u[e]||(u[e]=[])).push({i:t,g:l})}function o(t){t.forEach(i)}function r(t){t.forEach(o)}function s(t){"GeometryCollection"===t.type?t.geometries.forEach(s):t.type in f&&(l=t,f[t.type](t.arcs))}var a=[];if(arguments.length>1){var l,u=[],f={LineString:o,MultiLineString:r,Polygon:r,MultiPolygon:function(t){t.forEach(r)}};s(e),u.forEach(arguments.length<3?function(t){a.push(t[0].i)}:function(t){n(t[0].g,t[t.length-1].g)&&a.push(t[0].i)})}else for(var p=0,d=t.arcs.length;d>p;++p)a.push(p);return{type:"MultiLineString",arcs:c(t,a)}}function p(t){var e=t[0],n=t[1],i=t[2];return Math.abs((e[0]-i[0])*(n[1]-e[1])-(e[0]-n[0])*(i[1]-e[1]))}function d(t){for(var e,n=-1,i=t.length,o=t[i-1],r=0;++n<i;)e=o,o=t[n],r+=e[0]*o[1]-e[1]*o[0];return r/2}function h(t){return l(t,g.apply(this,arguments))}function g(t,e){function n(t){t.forEach(function(e){e.forEach(function(e){(o[e=0>e?~e:e]||(o[e]=[])).push(t)})}),r.push(t)}function i(e){return Math.abs(d(l(t,{type:"Polygon",arcs:[e]}).coordinates[0]))}var o={},r=[],s=[];return e.forEach(function(t){"Polygon"===t.type?n(t.arcs):"MultiPolygon"===t.type&&t.arcs.forEach(n)}),r.forEach(function(t){if(!t._){var e=[],n=[t];for(t._=1,s.push(e);t=n.pop();)e.push(t),t.forEach(function(t){t.forEach(function(t){o[0>t?~t:t].forEach(function(t){t._||(t._=1,n.push(t))})})})}}),r.forEach(function(t){delete t._}),{type:"MultiPolygon",arcs:s.map(function(e){var n,r=[];if(e.forEach(function(t){t.forEach(function(t){t.forEach(function(t){o[0>t?~t:t].length<2&&r.push(t)})})}),r=c(t,r),(n=r.length)>1)for(var s,a,l=1,u=i(r[0]);n>l;++l)(s=i(r[l]))>u&&(a=r[0],r[0]=r[l],r[l]=a,u=s);return r})}}function m(t){function e(t,e){t.forEach(function(t){0>t&&(t=~t);var n=o[t];n?n.push(e):o[t]=[e]})}function n(t,n){t.forEach(function(t){e(t,n)})}function i(t,e){"GeometryCollection"===t.type?t.geometries.forEach(function(t){i(t,e)}):t.type in a&&a[t.type](t.arcs,e)}var o={},s=t.map(function(){return[]}),a={LineString:e,MultiLineString:n,Polygon:n,MultiPolygon:function(t,e){t.forEach(function(t){n(t,e)})}};t.forEach(i);for(var l in o)for(var c=o[l],u=c.length,f=0;u>f;++f)for(var p=f+1;u>p;++p){var d,h=c[f],g=c[p];(d=s[h])[l=r(d,g)]!==g&&d.splice(l,0,g),(d=s[g])[l=r(d,h)]!==h&&d.splice(l,0,h)}return s}function v(t,e){return t[1][2]-e[1][2]}function y(){function t(t,e){for(;e>0;){var n=(e+1>>1)-1,o=i[n];if(v(t,o)>=0)break;i[o._=e]=o,i[t._=e=n]=t}}function e(t,e){for(;;){var n=e+1<<1,r=n-1,s=e,a=i[s];if(o>r&&v(i[r],a)<0&&(a=i[s=r]),o>n&&v(i[n],a)<0&&(a=i[s=n]),s===e)break;i[a._=e]=a,i[t._=e=s]=t}}var n={},i=[],o=0;return n.push=function(e){return t(i[e._=o]=e,o++),o},n.pop=function(){
+if(!(0>=o)){var t,n=i[0];return--o>0&&(t=i[o],e(i[t._=0]=t,0)),n}},n.remove=function(n){var r,s=n._;if(i[s]===n)return s!==--o&&(r=i[o],(v(r,n)<0?t:e)(i[r._=s]=r,s)),s},n}function b(t,e){function o(t){a.remove(t),t[1][2]=e(t),a.push(t)}var r=n(t.transform),s=i(t.transform),a=y();return e||(e=p),t.arcs.forEach(function(t){var n,i,l,c,u=[],f=0;for(i=0,l=t.length;l>i;++i)c=t[i],r(t[i]=[c[0],c[1],1/0],i);for(i=1,l=t.length-1;l>i;++i)n=t.slice(i-1,i+2),n[1][2]=e(n),u.push(n),a.push(n);for(i=0,l=u.length;l>i;++i)n=u[i],n.previous=u[i-1],n.next=u[i+1];for(;n=a.pop();){var p=n.previous,d=n.next;n[1][2]<f?n[1][2]=f:f=n[1][2],p&&(p.next=d,p[2]=n[2],o(p)),d&&(d.previous=p,d[0]=n[0],o(d))}t.forEach(s)}),t}var x="1.6.26";t.version=x,t.mesh=u,t.meshArcs=f,t.merge=h,t.mergeArcs=g,t.feature=s,t.neighbors=m,t.presimplify=b});
\ No newline at end of file
diff --git a/xos/core/xoslib/static/js/xosEcordTopology.js b/xos/core/xoslib/static/js/xosEcordTopology.js
new file mode 100644
index 0000000..223c2a4
--- /dev/null
+++ b/xos/core/xoslib/static/js/xosEcordTopology.js
@@ -0,0 +1 @@
+"use strict";function _toConsumableArray(n){if(Array.isArray(n)){for(var e=0,t=Array(n.length);e<n.length;e++)t[e]=n[e];return t}return Array.from(n)}function _toConsumableArray(n){if(Array.isArray(n)){for(var e=0,t=Array(n.length);e<n.length;e++)t[e]=n[e];return t}return Array.from(n)}angular.module("xos.ecordTopology",["ngResource","ngCookies","ui.router","xos.helpers","ui.checkbox"]).config(["$stateProvider",function(n){n.state("ecord-topo",{url:"/",template:"<ecord-topo></ecord-topo>"}).state("eline-create",{url:"/eline",template:"<eline-form></eline-form>"}).state("eline-details",{url:"/eline/:id",template:"<eline-details></eline-details>"})}]).config(["$httpProvider",function(n){n.interceptors.push("NoHyperlinks")}]).constant("cordIcons",{cordLogo:"M92.5,62.3l-33,33,2.5,2.5c4.1,4.1,7.4,3.6,11.2-.1L95.9,75l-4.5-4.5,4.7-4.7-3.6-3.6Zm2.6,7L98.4,66l3.3,3.3-3.3,3.3-3.3-3.3ZM94.5,60l4.9-4.9,4.9,4.9-4.9,4.9ZM36.2,36.1L18.6,53.8c-7.8,7.8-5.8,17.4-2.4,22l-2.2-2.2c-10.6-10.6-11.2-20,0-31.2L28.2,28.1L31.3,25l8,8-3.1,3.1ZM55.5,55.4l3.6-3.6L66.9,44l-8-8l-2.5,2.5-5.2,5.2l-3.6,3.6L33.2,61.6C22,72.7,22.5,82.2,33.2,92.8L35.4,95c-3.4-4.5-5.4-14.1,2.4-22L55.5,55.4ZM50.7,21.7l-8-8L35,21.2l8,8,7.6-7.6ZM62.8,9.6L55.4,17l-8-8,7.4-7.4,8,8Zm0.7,18.3-7.6,7.6-8-8,7.6-7.6,8,8Zm26.1-6.6-8.1,8.1-8-8,8.1-8.1,8,8ZM79.3,31.5l-7.4,7.4-8-8,7.4-7.4,8,8ZM45.7,45.6L54.3,37l-8-8-8.6,8.6L23.4,51.8C12.2,63,12.8,72.4,23.4,83l2.2,2.2c-3.4-4.5-5.4-14.1,2.4-22ZM34.9,80.7l20.6,20.5c2,2,4.6,4.1,7.9,3.2-2.9,2.9-8.9,1.7-11.9-1.3L35.1,86.8,35,86.6H34.9l-0.8-.8a15,15,0,0,1,.1-1.9,14.7,14.7,0,0,1,.7-3.2Zm-0.6,7.4a21.3,21.3,0,0,0,5.9,11.7l5.7,5.7c3,3,9,4.1,11.9,1.3-3.3.9-5.9-1.2-7.9-3.2L34.3,88.1Zm3.5-12.4a16.6,16.6,0,0,0-2.3,3.6L57,100.8c3,3,9,4.1,11.9,1.3-3.3.9-5.9-1.2-7.9-3.2Z",service:"M2.16,10.77l2.7-.44a0.36,0.36,0,0,0,.21-0.2c0.24-.55.47-1.1,0.69-1.65a0.42,0.42,0,0,0,0-.33c-0.5-.74-1-1.47-1.52-2.18L5.94,4.22,8.07,5.75a0.37,0.37,0,0,0,.44,0C9,5.55,9.52,5.36,10,5.16a0.36,0.36,0,0,0,.27-0.32c0.13-.87.28-1.74,0.42-2.64l0.23,0c0.66,0,1.32,0,2,0a0.25,0.25,0,0,1,.3.26c0.13,0.81.28,1.62,0.41,2.44a0.34,0.34,0,0,0,.26.3c0.52,0.2,1,.41,1.54.64a0.34,0.34,0,0,0,.4,0l1.93-1.4L18,4.22,19.76,6c-0.49.7-1,1.43-1.52,2.16a0.4,0.4,0,0,0,0,.47c0.23,0.49.43,1,.62,1.49a0.36,0.36,0,0,0,.32.27l2.66,0.43v2.45l-1.63.29c-0.36.06-.72,0.11-1.07,0.19a0.43,0.43,0,0,0-.26.22c-0.23.53-.43,1.07-0.67,1.6a0.31,0.31,0,0,0,0,.37l1.4,1.94,0.17,0.24-1.74,1.74c-0.69-.48-1.41-1-2.13-1.5a0.43,0.43,0,0,0-.52,0,13.34,13.34,0,0,1-1.43.6,0.4,0.4,0,0,0-.32.35c-0.14.86-.3,1.72-0.46,2.59H10.73c-0.14-.85-0.29-1.7-0.42-2.55A0.43,0.43,0,0,0,10,18.88c-0.5-.18-1-0.39-1.46-0.61a0.36,0.36,0,0,0-.42,0c-0.73.52-1.46,1-2.17,1.52L4.16,18.08l0.37-.52c0.39-.55.78-1.1,1.19-1.65a0.31,0.31,0,0,0,0-.37C5.52,15,5.3,14.5,5.09,14A0.34,0.34,0,0,0,4.8,13.7l-2.64-.46V10.77ZM15.43,12A3.45,3.45,0,1,0,12,15.48,3.46,3.46,0,0,0,15.43,12Z"}).directive("ecordTopo",function(){return{restrict:"E",scope:{},bindToController:!0,controllerAs:"vm",templateUrl:"templates/ecord-topo.tpl.html",controller:["Eline","$location",function(n,e){var t=this;n.query().$promise.then(function(n){t.elines=n})["catch"](function(n){throw new Error(n)}),this.selectEline=function(n){e.path("/eline/"+n.id)}}]}}),function(){angular.module("xos.ecordTopology").service("Uni",["$resource","_",function(n,e){return n("/api/service/metronetworkservice/SCA_ETH_FPP_UNI_N/:id",{id:"@id"},{query:{isArray:!0,interceptor:{response:function(n){var t=e.map(n.data,function(n,e){var t=n.latlng,i=t.substring(1,t.indexOf(",")-1);i=i.trim();var r=t.substring(t.indexOf(",")+1,t.length-1);return r=r.trim(),n.latlng=[i,r],n});return t}}}})}])}(),angular.module("xos.ecordTopology").run(["$templateCache",function(n){n.put("templates/ecord-topo.tpl.html",'<div class="row" ng-show="vm.elines.length == 0">\n <div class="col-xs-10 col-xs-offset-1 text-center">\n <div class="jumbotron" style="margin-top: 100px">\n <div class="row">\n <div class="col-sm-4">\n <img ng-src="{{\'/imgs/\'+user.image+\'.jpg\'}}" class="img-responsive img-rounded">\n </div>\n <div class="col-sm-8">\n <h1>Hello, {{currentUser.name}}</h1>\n <p style="padding-top: 20px">\n Looks like you have not yet created any E-LINE!\n </p>\n <div style="margin-top: 60px">\n <a class="btn btn-success btn-lg" href="#/eline" role="button">Start now</a>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n<div class="row" ng-show="vm.elines.length > 0">\n <div class="col-sm-6">\n <div class="panel panel-primary animate-vertical" ng-hide="vm.elines.length == 0">\n <div class="panel-heading">\n <h3 class="panel-title">E-LINES</h3>\n </div>\n <div class="panel-body">\n <elan-map elan="vm.elines"></elan-map>\n </div>\n </div>\n </div>\n <div class="col-sm-6 eline-list">\n <div class="panel panel-primary table-container" ng-show="vm.elines.length >\n 0">\n <!-- <pre>{{elans | json}}</pre> -->\n <table class="table">\n <thead>\n <tr>\n <th>E-LINE</th>\n <th>Unis</th>\n </tr>\n </thead>\n <tbody>\n <tr ng-repeat="eline in vm.elines | orderBy:\'id\'" ng-click="vm.selectEline(eline)">\n <td>{{eline.sid}}</td>\n <td>\n <span> - </span>\n {{eline.uni1.location}}\n {{eline.uni1.pid}}\n </span>\n <span> - </span>\n {{eline.uni2.location}}\n {{eline.uni2.pid}}\n </span>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n <a class="btn btn-success btn-lg btn-block" href="#/eline" role="button">Create a new E-LINE!</a>\n </div>\n</div>'),n.put("templates/eline-details.tpl.html",'<div id="home" class="container-fluid">\n <div class="row">\n <div class="col-sm-6">\n <div class="panel panel-primary">\n <div class="panel-heading">\n <h3 class="panel-title">E-LINE MAP</h3>\n </div>\n <div class="panel-body">\n <elan-map ng-hide="!vm.eline" elan="[vm.eline]"></elan-map>\n </div>\n </div>\n <div class="panel panel-primary">\n <div class="panel-heading">\n <h3 class="panel-title">E-LINE SERVICES</h3>\n </div>\n <div class="panel-body">\n <service-map ng-if="vm.eline" unis="vm.eline.SCA_ETH_Flow_Points" services="vm.activeServices"></service-map>\n </div>\n </div>\n </div>\n <div class="col-sm-6">\n <div class="panel panel-primary service-container">\n <div class="panel-heading">\n <h3 class="panel-title">Add a service:</h3>\n </div>\n <div class="panel-body">\n <div class="row" ng-repeat="(k,v) in vm.availableServices">\n <div class="col-xs-12">\n <label>{{k | uppercase}}</label>\n </div>\n <div class="col-xs-{{12/v.length}}" ng-repeat="service in v">\n <a ng-click="vm.toggleService(service)" class="btn btn-block"\n ng-class="{\'btn-primary-border\': !vm.isServiceActive(service), \'btn-primary\': vm.isServiceActive(service)}">{{service.label}}</a>\n </div>\n </div>\n </div>\n </div>\n <div class="row">\n <div class="col-sm-6">\n <div class="panel panel-primary animate-vertical" ng-hide="!vm.eline.SCA_ETH_Flow_Points[0]">\n <div class="panel-heading">\n <h3 class="panel-title">{{vm.eline.SCA_ETH_Flow_Points[0].scaEthFppUniN.name}}</h3>\n </div>\n <div class="panel-body">\n <div class="row">\n <div class="col-sm-12">\n <div class="input-group">\n <span class="input-group-addon">CIR</span>\n <input b-to-mb ng-model="vm.eline.SCA_ETH_Flow_Points[0].scaEthFppUniN.interfaceCfgIngressBwp.bwpCfgCir" ng-value="\'10\'" class="form-control" type="number" required>\n <span class="input-group-addon">Gb</span>\n </div>\n </div>\n </div>\n <div class="row">\n <div class="col-sm-12">\n <div class="input-group">\n <span class="input-group-addon">EIR</span>\n <input b-to-mb ng-model="vm.eline.SCA_ETH_Flow_Points[0].scaEthFppUniN.interfaceCfgIngressBwp.bwpCfgEir" ng-value="\'30\'" class="form-control" type="number" required>\n <span class="input-group-addon">Gb</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class="col-sm-6">\n <div class="panel panel-primary animate-vertical" ng-hide="!vm.eline.SCA_ETH_Flow_Points[1]">\n <div class="panel-heading">\n <h3 class="panel-title">{{vm.eline.SCA_ETH_Flow_Points[1].scaEthFppUniN.name}}</h3>\n </div>\n <div class="panel-body">\n <div class="row">\n <div class="col-sm-12">\n <div class="input-group">\n <span class="input-group-addon">CIR</span>\n <input b-to-mb ng-model="vm.eline.SCA_ETH_Flow_Points[1].scaEthFppUniN.interfaceCfgIngressBwp.bwpCfgCir" ng-value="\'10\'" class="form-control" type="number" required>\n <span class="input-group-addon">Gb</span>\n </div>\n </div>\n </div>\n <div class="row">\n <div class="col-sm-12">\n <div class="input-group">\n <span class="input-group-addon">EIR</span>\n <input b-to-mb ng-model="vm.eline.SCA_ETH_Flow_Points[1].scaEthFppUniN.interfaceCfgIngressBwp.bwpCfgEir" ng-value="\'30\'" class="form-control" type="number" required>\n <span class="input-group-addon">Gb</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class="panel panel-primary table-container sla">\n <table class="table">\n <thead>\n <tr>\n <th>SLA</th>\n <th>Value</th>\n <th>Unit</th>\n </tr>\n </thead>\n <tbody>\n <tr ng-repeat="sla in vm.slas">\n <td>{{sla.name}}</td>\n <td class="text-right">\n <input class="form-control input-sm" type="text" ng-model="sla.default"></input>\n </td>\n <td>{{sla.unit}}</td>\n </tr>\n </tbody>\n </table>\n </div>\n <div class="row">\n <div class="col-xs-12">\n <div ng-show="!saved"ng-click="vm.saveEline()" class="btn btn-success btn-block btn-lg">Save</div>\n <div ng-show="saved"class="form-success btn-blockanimate-fade">Done</div>\n </div>\n </div>\n </div>\n </div>\n</div>'),n.put("templates/eline-form.tpl.html",'<!-- ELINE CREATION POINT TO POINT -->\n<div class="container-fluid eline-form">\n <div class="row">\n <div class="col-xs-10 col-xs-offset-1">\n <div class="panel panel-primary animate-vertical">\n <div class="panel-heading">\n <h3 class="panel-title">Create E-LINE</h3>\n </div>\n <form name="vm.eline" ng-submit="vm.createEline(vm.el, vm.eline)">\n <div class="panel-body">\n <div class="row">\n <div class="col-xs-12">\n <label>Name:</label>\n <input type="text" class="form-control input-lg" ng-model="vm.el.evcCfgidentifier" required></div>\n </div>\n <div class="row">\n <div class="col-xs-6">\n <label>Start:</label>\n <div class="alert alert-danger animate-vertical" ng-hide="!vm.formErrors.startError">\n {{vm.formErrors.startError}}\n </div>\n <!--<pre>{{vm.startUnis | json}}</pre>-->\n <div class="row uni-repeat" ng-repeat="u in vm.startUnis">\n <div class="col-xs-2">\n <checkbox largest\n ng-class="{\'btn-primary\': !u.alreadySelected, \'btn-danger\': u.alreadySelected === true}"\n ng-model="u.selected"\n ng-change="vm.selectUni(u, \'start\')"\n required\n ></checkbox>\n </div>\n <div class="col-xs-5">\n\n <b>{{u.name || u.interfaceCfgIdentifier}}</b>\n\n </div>\n <div class="col-xs-5">\n {{u.location}}\n </div>\n </div>\n </div>\n <div class="col-xs-6">\n <label>End:</label>\n <div class="alert alert-danger animate-vertical" ng-hide="!vm.formErrors.endError">\n {{vm.formErrors.endError}}\n </div>\n <div class="row uni-repeat" ng-repeat="u in vm.endUnis">\n <div class="col-xs-2">\n <checkbox largest\n ng-class="{\'btn-primary\': !u.alreadySelected, \'btn-danger\': u.alreadySelected === true}"\n ng-model="u.selected"\n ng-change="vm.selectUni(u, \'end\')"\n required\n ></checkbox>\n </div>\n <div class="col-xs-5">\n <b>{{u.name || u.interfaceCfgIdentifier}}</b>\n </div>\n <div class="col-xs-5">\n {{u.location}}\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class="panel-footer text-right">\n <button ng-hide="vm.eline.$saved" type="submit" class="btn btn-success btn-lg animate-fade">Save</button>\n <div ng-hide="!vm.eline.$saved" class="form-success animate-fade">Done</div>\n </div>\n </form>\n </div>\n </div>\n </div>\n</div>\n\n<!-- MULTIPLE POINT CREATION -->\n<div class="container-fluid eline-form" ng-if="vm.currentUser.userId === 2">\n <div class="row">\n <div class="col-xs-10 col-xs-offset-1">\n <div class="panel panel-primary animate-vertical">\n <div class="panel-heading">\n <h3 class="panel-title">Create Infrastructure</h3>\n </div>\n <form name="vm.infrastructure" ng-submit="vm.createInfrastructure(vm.infrastructureUnis)">\n <div class="panel-body">\n <div class="row">\n <div class="col-sm-6 infrastructureUnis" ng-repeat="u in vm.infrastructureUnis">\n <div class="row uni-repeat">\n <div class="col-xs-2">\n <checkbox largest\n class="btn-primary"\n ng-model="u.selected"\n required\n ></checkbox>\n </div>\n <div class="col-xs-5">\n <b>{{u.name}}</b>\n </div>\n <div class="col-xs-5">\n {{u.location}}\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class="panel-footer text-right">\n <button ng-hide="vm.eline.$saved" type="submit" class="btn btn-success btn-lg animate-fade">Save</button>\n <div ng-hide="!vm.eline.$saved" class="form-success animate-fade">Done</div>\n </div>\n </form>\n </div>\n </div>\n </div>\n</div>')}]),function(){angular.module("xos.ecordTopology").directive("serviceMap",function(){return{restrict:"E",scope:{unis:"=",services:"="},bindToController:!0,controllerAs:"vm",template:"",controller:["$element","$scope","$rootScope","$timeout","$log","cordIcons",function(n,e,t,i,r,a){var s=this,l=n[0],c=d3.layout.tree(),o=500,d=40,u=function g(n){var e=0;return n.children&&n.children.forEach(function(n){var t=g(n);t>e&&(e=t)}),1+e},v=d3.select(l).append("svg").style("width",l.clientWidth+"px").style("height",l.clientHeight+"px"),p=d3.svg.diagonal().projection(function(n){return[n.y,n.x]}),m=0,f=function(n){var e=u(n);c.size([l.clientHeight,l.clientWidth]);var t=c.nodes(n),i=c.links(t),r=(l.clientWidth-d)/(e-1);t.forEach(function(n,e){0===e?n.y=d:n.y=n.depth*r});var s=v.selectAll("g.node").data(t,function(n){return n.id||(n.id=++m)}),f=s.enter().append("g").attr({"class":function(n){return"node "+n.type},id:function(n){return n.id}}).attr("transform",function(){return"translate("+l.clientWidth/2+", 50)"});f.append("rect").attr({"class":function(n){return n.type},width:24,height:24,x:-12,y:-12}),f.filter(".uni").append("path").attr({d:a.cordLogo,transform:"translate(-10, -10),scale(0.18)"}),f.filter(".service").append("path").attr({d:a.service,transform:"translate(-12, -12)"}),f.append("text").attr({"text-anchor":"middle",x:0,y:25}).text(function(n){return n.name});var g=s.exit().transition().duration(o).remove();g.select("circle").attr("r",1e-6),g.select("text").style("fill-opacity",1e-6);var h=(s.transition().duration(o).attr("transform",function(n){return"translate("+n.y+","+n.x+")"}),v.selectAll("path.link").data(i,function(n){return n.target.id}));h.enter().insert("path","g").attr("class","link").attr("d",function(n){var e={x:n.source.x,y:n.source.y};return p({source:e,target:e})}),h.transition().duration(o).attr("d",p),h.exit().transition().duration(o).attr("d",function(n){var e={x:n.source.x,y:n.source.y};return p({source:e,target:e})}).remove(),t.forEach(function(n){n.x0=n.x,n.y0=n.y})};this.formatUni=function(n){return n.reduce(function(n,e,t){return n.push({name:e.scaEthFppUniN.name,children:[],id:"uni-"+t}),n},[])},this.addServices=function(n,e){var t=[e[0]].concat(_toConsumableArray(n),[e[1]]),i=function a(n,e){if(0===e.length)return[];var t=e.shift(),i={name:t.name||t.label,type:t.name?"uni":"service",children:a(t,e),id:t.id};return[i]},r=i({},t);return r[0]},e.$watch(function(){return s.services},function(n){n&&s.unis&&f(s.addServices(n,s.formatUni(s.unis)))},!0)}]}})}(),function(){angular.module("xos.ecordTopology").service("Eline",["$resource",function(n){return n("/api/service/metronetworkservice/SCA_ETH_FDFr_EC/:id",{id:"@id"},{query:{isArray:!0,interceptor:{response:function(n){var e=_.map(n.data,function(n,e){var t=n.uni1.latlng,i=t.substring(1,t.indexOf(",")-1);i=i.trim();var r=t.substring(t.indexOf(",")+1,t.length-1);return r=r.trim(),n.uni1.latlng=[i,r],t=n.uni2.latlng,i=t.substring(1,t.indexOf(",")-1),i=i.trim(),r=t.substring(t.indexOf(",")+1,t.length-1),r=r.trim(),n.uni2.latlng=[i,r],n});return e}}}})}])}(),function(){angular.module("xos.ecordTopology").directive("elanMap",function(){return{restrict:"E",scope:{elan:"="},bindToController:!0,controllerAs:"vm",template:"",controller:["$element","$scope","$rootScope","$timeout","_","cordIcons",function(n,e,t,i,r,a){var s,l,c=this,o=n[0];e.$watch(function(){return c.elan},function(n){n&&i(function(){v(angular.copy(n))},500)},!0);var d=d3.layout.force(),u=function(){l=d3.geo.mercator().center([-122.2,37.6]).scale(28e3).translate([o.clientWidth/2,o.clientHeight/2]);var n=d3.geo.path().projection(l),e=d3.select(o).append("svg").attr("id","map").attr("width",o.clientWidth).attr("height",o.clientHeight);d3.json("/js/json/bayarea.json",function(t,i){if(t)throw new Error(t);e.selectAll(".subunit").data(topojson.feature(i,i.objects.bayareaGEO).features).enter().append("path").attr("class",function(n,e){return"subunit _"+e}).attr("d",n)})},v=function(n){if(n[0]){d.size([o.clientWidth,o.clientHeight]).charge(-20).chargeDistance(200).linkStrength(.1),angular.element(o).children().remove(),u();var e,t,i,c=d3.select(o).append("svg").style("width",o.clientWidth+"px").style("height",o.clientHeight+"px"),v=[],p=[],m=0;r.forEach(n,function(n){var a=r.find(v,{id:n.uni1.pid});if(a)n.uni1.pid=a.id;else{n.uni1.fixed=!0;try{var s=n.uni1.latlng;("string"==typeof s||s instanceof String)&&(e=n.uni1.latlng,t=e.substring(1,e.indexOf(",")-1),t=t.trim(),i=e.substring(e.indexOf(",")+1,e.length-1),i=i.trim(),n.uni1.latlng=[t,i]);var c=l([n.uni1.latlng[0],n.uni1.latlng[1]]);n.uni1.x=c[0],n.uni1.y=c[1],n.uni1.pid=n.uni1.pid||m++,v.push(n.uni1)}catch(o){throw new Error(o)}}if(a=r.find(v,{id:n.uni2.pid}))n.uni2.pid=a.id;else{n.uni2.fixed=!0;try{var d=n.uni2.latlng;("string"==typeof d||d instanceof String)&&(e=n.uni2.latlng,t=e.substring(1,e.indexOf(",")-1),t=t.trim(),i=e.substring(e.indexOf(",")+1,e.length-1),i=i.trim(),n.uni2.latlng=[t,i]);var c=l([n.uni2.latlng[0],n.uni2.latlng[1]]);n.uni2.x=c[0],n.uni2.y=c[1],n.uni2.pid=n.uni2.pid||m++,v.push(n.uni2)}catch(o){throw new Error(o)}}p.push({source:r.findIndex(v,n.uni1),target:r.findIndex(v,n.uni2),value:1})}),d.nodes(v).links(p).start();var f=c.selectAll(".link").data(p).enter().append("line").attr({"class":"link"});s=c.selectAll(".node").data(v).enter().append("g",function(n){return n.scaEthFppUniN.interfaceCfgIdentifier}).attr({"class":function(n){return"node "+(n.type?n.type:"uni")}}),s.append("rect").attr({"class":function(n){return n.type?n.type:"uni"},width:24,height:24,x:-12,y:-12}),s.append("path").attr({d:a.cordLogo,transform:"translate(-10, -10),scale(0.18)"}),s.append("text").attr({x:0,y:25,"text-anchor":"middle"}).text(function(n){return n.pid}),d.on("tick",function(){f.attr("x1",function(n){return n.source.x}).attr("y1",function(n){return n.source.y}).attr("x2",function(n){return n.target.x}).attr("y2",function(n){return n.target.y}),s.attr("transform",function(n){return"translate("+n.x+","+n.y+")"})})}}}]}})}(),function(){angular.module("xos.ecordTopology").directive("elineForm",function(){return{restrict:"E",scope:{uni:"="},bindToController:!0,controllerAs:"vm",templateUrl:"templates/eline-form.tpl.html",controller:["$scope","$timeout","$location","_","Uni","Eline",function(n,e,t,i,r,a){var s=this,l=function(n,e){return i.findIndex(e,{id:n.id,selected:!0})!==-1},c=function(n,e){e.map(function(e){return e.id!==n.id&&(e.selected=!1,e.alreadySelected=!1),e})};this.selectUni=function(n,e){if(n.selected){c(n,s[e+"Unis"]);var t="start"===e?"end":"start";return l(n,s[t+"Unis"])?n.alreadySelected=!0:(s.formErrors[e+"Error"]=null,s.el[e]=n)}return s.el[e]=null,n.alreadySelected=!1},this.el={},r.query().$promise.then(function(n){s.startUnis=angular.copy(n),s.endUnis=angular.copy(n),s.infrastructureUnis=angular.copy(n)});var o=function(n){var e={adminstate:"activationrequested",operstate:"active",uni1:{id:n.start.id},uni2:{id:n.end.id},sid:n.evcCfgidentifier,type:"Point_To_Point"};return e};this.formErrors={},this.createEline=function(i,r){if(i.start||(s.formErrors.startError="Select a starting point"),i.end||(s.formErrors.endError="Select an ending point"),i.start&&i.end){var l=o(i);a.save(l).$promise.then(function(i){r.$saved=!0,n.$emit("elan.created",i),e(function(){t.path("/")},1e3)})["catch"](function(n){throw new Error(n)})}},n.$watch(function(){return s.el},function(n,e){n!==e&&s.eline.$saved&&(s.eline.$saved=!1)},!0),this.prepareInfrastructure=function(n,e){var t=0,i=function r(e){var i,a=[],s=e.shift(),l=e.reduce(function(e,i){var r={};return r.evcCfgidentifier=n+"-"+ ++t,r.start=s,r.end=i,e.push(o(r)),e},[]);if(a=(i=a).concat.apply(i,_toConsumableArray(l)),1===e.length)return a;var c;return(c=a).concat.apply(c,_toConsumableArray(r(e)))};return i(e)},this.createInfrastructure=function(r){r=i.filter(r,{selected:!0}),$log.info("Send request to MARC!!! - Decide the format!",r);var l=[];s.prepareInfrastructure("test",r).forEach(function(n){l.push(a().save(n).$promise)}),$q.all(l).then(function(i){i.forEach(function(e){n.$emit("elan.created",e),cordConfig.pages.push(e)}),e(function(){t.path("/home")},1e3)})}}]}})}(),function(){angular.module("xos.ecordTopology").directive("elineDetails",function(){return{restrict:"E",scope:{},bindToController:!0,controllerAs:"vm",templateUrl:"templates/eline-details.tpl.html",controller:["$scope","$stateParams","Eline",function(n,e,t){var i=this;this.eline=null;t();t.get({id:e.id}).$promise.then(function(n){i.eline=n}),this.slas=[{name:"Latency",unit:"ms","default":300},{name:"Latency Variation",unit:"%","default":5},{name:"Packet Loss",unit:"%","default":2}],this.availableServices={performance:[{id:1,label:"WAN Accelerator"},{id:2,label:"Traffic Analytics"},{id:3,label:"Policy Control"}],security:[{id:4,label:"Firewall"},{id:5,label:"Anti-virus"},{id:6,label:"IDS"},{id:7,label:"Encryption"}],enterprise:[{id:8,label:"vRouter"},{id:9,label:"NAT"},{id:10,label:"VPN"}]},this.activeServices=[],this.toggleService=function(n){var e=i.activeServices.indexOf(n);e!==-1?i.activeServices.splice(i.activeServices.indexOf(n),1):i.activeServices.push(n)},this.isServiceActive=function(n){var e=i.activeServices.indexOf(n);return e!==-1},n.$watch(function(){return i.el},function(n,e){n!==e&&i.elineUpdate.$saved&&(i.eline.$saved=!1)},!0),this.saveEline=function(){var e=new t(i.eline);e.$save().then(function(){n.saved=!0})["catch"](function(n){console.error(n)})}}]}}).directive("bToMb",function(){return{require:"ngModel",restrict:"A",link:function(n,e,t,i){i.$parsers.push(function(n){return 1e9*n}),i.$formatters.push(function(n){return n/1e9})}}})}(),angular.module("xos.ecordTopology").run(["$location",function(n){n.path("/")}]);
\ No newline at end of file